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 是如何创建的?随着页面加载。我是否需要在用户登录方法中指定任何代码。

会议

有什么建议么..

编辑 当登录页面被加载时,会话 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。?

会话不是在应用程序启动时创建的,而是在用户第一次点击应用程序时创建的。

我可以设置登录完成后创建的会话吗??

一旦用户通过身份验证,您需要调用Session.Abandon()并清除会话 ID cookie 。

对于那些认为 OP 正在尝试解决不存在的问题的人,请阅读会话固定攻击

于 2013-01-08T13:07:56.473 回答