

ASP.NETで開発をしているのですが、セッション管理について疑問です。
SQLサーバーを利用したForm認証を使っているのですが、二人のユーザが別々のマシンで同じID,パスワードを使ってログインすると、二人ともログインしてサイトを利用できてしまうのでしょうか?
それとも後から入った人が有効となって先に入った人のセッションは切れるのでしょうか?(yahooとかのサイトでは他の場所からログインしましたので現在のセッションは無効となりました。みたいなメッセージが出たような・・・)
あとからログインした人優先だとしたら、同時ログインでもOKなようにすることはできますか?
また逆に同時ログインOKな状態だとすると、後からログインした人優先モードに変更できますか?
ちょっとわかりにくいかもしれませんが、足りない情報がありましたら言ってください。追記にて情報を提示いたします。
No.2ベストアンサー
- 回答日時:
全部システムの作り込みによって可能です。
「セション=ログイン」と勘違いしていませんか?
セションはリクエスト元(ブラウザ)とサーバで保持している情報を結びつけるための手法であって、ログインと言うのはあくまでリクエスト元の状態を表す言葉に過ぎません。
多くの場合、ログイン管理にセションを利用していますが、Cookieを使っているところも少なくありません。ただ、Cookieは改ざんすることが出来るのでセションを利用するところが多いだけです。
簡単に言うと、セションはログイン管理のための技術ではなく、ログイン管理を実現するためにセションが利用できるだけです。
ログインの管理方法と言ってもシステムにより多様です。システムの仕様からログイン管理をするにはどのような機能があれば良いのかを考えてみてください。
ついでに
>「後からログインした人優先」の場合、先に入った人のセッションの強制切断の方法がわからないのです。
前述の用に考えると、セションを切るのではなく、「ログインしている」という情報さえ変更できればいいと思います。
例えば、ユーザIDをキーに自分のセションID(またはセション自身)が取得できる状態をログインしていると見なすと、セションIDさえ書き換えてしまえばログインしていない状態と見なすことが出来ます。
この場合、データ管理はDBを使ってもいいですが、HttpApplicationStateを使っても出来るかと思います。仕様を考えて最適な方法を選んでください。
この回答への補足
うむむ~(;´Д`)
今まではASP.NETで開発していなかったので、ログイン時に一意なセッションIDを生成させ、データベースで管理していましたが、今回はASP.NETで開発してみようということになりセッション管理にForm認証というものがあるので、便利そうなので使ってみたのです。
セッションを管理することができれば、ログインも管理できるようになっているかと期待していたのですが、甘かったようですね(;つД`)
ログイン時に払い出したセッションIDをDBに保存しておくことができればTempdbのStateテーブルの同じセッションID行を削除すればあとからログインした人優先にできそうなのですがTempdbにアクセスする方法や、セッションIDを取得する方法がイマイチわかりません。
もし、そのようなメソッドがあれば教えてください。
ダメならログイン管理は自前で作るしかないですね~(;つД`)

No.1
- 回答日時:
できてしまうのでしょうか、できますか、の前にどういう仕様か確認して、その仕様に沿って(そうなるように)作り込みする、とした方が安全じゃないでしょうか。
多分「後からログインした人優先」に落ち着くと思いますが、例えばログインした時の日時を利用する等すれば可能かと思います。
この回答への補足
実は両方のパターンを使い分けたいのです。
「後からログインした人優先」の場合、先に入った人のセッションの強制切断の方法がわからないのです。
DBからどこかのセッションデータを削除すればいいのでしょうか?
またご指摘のログイン日時を利用するというのも詳しく教えていただけないでしょうか。
「同時ログイン可」の場合もどう設定すべきか教えていただけると助かります。設定だけでは無理でしたら、開発手法のアドバイスをいただけると助かります。
申し訳ありませんがよろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- Chrome(クローム) 仕事で使っているGmailがログインできません。 ログインすると、 「組織がプロフィールの作成を求め 1 2022/06/16 08:40
- PHP ログインした掲示板ですが、直接開かないような設計するには? 2 2022/10/29 16:30
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- Chrome(クローム) 【Google】「同期は有効です」と表示されているがブックマークが同期されていない 2 2022/11/17 13:32
- その他(セキュリティ) スマホで使用する場合のパスワード設定はどうしてますか? 4 2023/04/03 18:01
- その他(セキュリティ) アカウントの乗っ取りで質問です。長いです。 先月ツイッターの乗っ取りにあい、アカウントを全て新しくし 2 2022/03/25 20:47
- その他(セキュリティ) PCとスマホのクラッキング、ハッキングに困っています 2 2022/10/09 22:36
- その他(セキュリティ) Apple ID 1 2023/06/18 11:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PWを入れると別のページに飛ん...
-
Enterキーでログイン
-
ログイン、ログアウト状態の表...
-
UWSCで基本認証をクリアしたい...
-
XMLHTTPを用いて認証が必要なUR...
-
Global.asaについて
-
【php】会員登録ログイン時シス...
-
VBAで一時中断したプログラムの...
-
HTMLボタンの文字色を変え...
-
PageLoadの後にJavascript実行...
-
開くと同時に自動submit
-
SPREADでカーソルの位置を1行目...
-
ロストフォーカスイベントとそ...
-
ボタンのなかに表示する文字を...
-
CD-Rに書き込んだデータが全部...
-
Accessの画面更新を一時的に停...
-
SUBMITボタンを表示させないでS...
-
Dreamweaver4でのクローズボタン
-
コネクション・セッション・ト...
-
エンターキーを押したときに関...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでHTTPログイン
-
PHPからWindowsログインユーザ...
-
特定の端末からのみWebシステム...
-
えきねっとのログイン画面はどこ?
-
XMLHTTPを用いて認証が必要なUR...
-
Global.asaについて
-
セッション管理について(同時...
-
phpmyadminでDBが作成できない。
-
ログインフラグがわかりません。
-
VBからローカルサーバーにログイン
-
windows統合認証とform認証の併用
-
フォーム認証でのパスワードロック
-
2重ログインのチェック
-
特定ページのアクセスを一人だ...
-
ASPを使用してActiveDirectory...
-
バッチファイルでログイン後の...
-
パスワードの保存
-
青い枠のみのHTML
-
vbsでのie操作について
-
戻るボタンで、ログイン中を維...
おすすめ情報