asp.net中的SQL Server会话模式

时间:2013-01-08 11:58:47

标签: c# asp.net sql-server-2008-r2

我在我的应用程序中使用了sql server session模式。页面加载后立即生成会话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?当页面加载。我是否需要在用户登录方法中指定任何代码。

Session

任何建议..

修改 加载登录页面时,会在ASPState数据库中创建会话ID,如下所示。

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

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

1 个答案:

答案 0 :(得分:2)

  

我可以知道在应用程序启动时如何创建会话ID。

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

  

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

用户通过身份验证后,您需要call Session.Abandon() and then clear the session ID cookie

对于那些认为OP正试图解决不存在的问题的人,请阅读session fixation attacks