2

アプリケーションで SQL Server セッション モードを使用しました。セッション ID は、ページが読み込まれるとすぐに生成されます。スタートページにユーザーログインがあります。しかし、ユーザーのログインが成功した後にセッション ID を作成する必要があります。
web.config ファイル内

<sessionState mode="SQLServer" sqlConnectionString="DBConnection" allowCustomSqlDatabase="true" regenerateExpiredSessionId="false" cookieless="false" timeout="1" ></sessionState>

<add name="DBConnection" connectionString="Data Source=localhost;DataBase=ASPState;Integrated Security=True;uid=sa;pwd=password-1" providerName="System.Data.SqlClient"/>

セッション ID はどのように作成されますか? ページが読み込まれます。ユーザーのログイン方法でコードを指定する必要がありますか?

セッション

助言がありますか..

EDIT ログインページが読み込まれると、セッション ID が ASPState データベースに次のように作成されます。

SessionId   Created Expires     LockDate    LockDateLocal   LockCookie  Timeout Locked  SessionItemShort    SessionItemLong Flags
sf4chi20mebkfaw4taz345h5739e38f4    2013-01-08 12:38:23.340 2013-01-08 12:39:23.340 2013-01-08 12:38:23.340 2013-01-08 18:08:23.340 1   1   0   0x010000000000FF    NULL    0

ログイン完了後にセッションを作成するように設定できますか? ?

4

1 に答える 1

2

アプリケーションの開始時にセッション ID がどのように作成されるかを知ることはできますか?

セッションは、アプリケーションの起動時に作成されるのではなく、ユーザーが最初にアプリケーションにアクセスしたときに作成されます。

ログイン完了後にセッションを作成するように設定できますか? ?

ユーザーが認証されたら、セッション ID Cookieを呼び出しSession.Abandon()てクリアする必要があります。

OP が存在しない問題を解決しようとしていると思われる方は、セッション固定攻撃を読んでください。

于 2013-01-08T13:07:56.473 に答える