我在我的应用程序中使用了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?当页面加载。我是否需要在用户登录方法中指定任何代码。
任何建议..
修改 加载登录页面时,会在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
我可以在登录完成后设置要创建的会话。 ?
答案 0 :(得分:2)
我可以知道在应用程序启动时如何创建会话ID。
会话不会在应用程序启动时创建,而是在用户第一次点击应用程序时创建。
我可以在登录完成后设置要创建的会话。 ?
用户通过身份验证后,您需要call Session.Abandon()
and then clear the session ID cookie。
对于那些认为OP正试图解决不存在的问题的人,请阅读session fixation attacks。