<!--配置SESSION开始--> <sessionState mode="SQLServer" cookieless="false" sqlConnectionString=" Integrated Security=SSPI;data source=192.168.9.243\SQLEXPRESS" sqlCommandTimeout="20" /> <!--配置SESSION结束-->
针对SQLServer会话状态模式这种方式,我有几点疑问,请大家解惑 1、我把cookieless="false"设置成了FALSE,那浏览器是怎么在一个会话中维持同一个Sessionid的? 我用firebug查看过,第一次请求页面的时候,响应头信息里没有set-Cookie的信息,但是请求头信息里已经有了Cookie的信息,他们之间的第一次交互式怎么样? 以后的每一次都是只有请求信息里有Cookie信息,以后的每一次交互中,这些请求头的Cookie信息是保存在浏览器当中? 2、我这里采用的事SQLServer会话状态模式,MSDN和网上的帖子的解释是这种模式是将Session保存到数据库当中。 我查看了ASPState数据库内的ASPStateTempSessions,其中有SessionId的选项,严格来说是Sessionid和applicationid的组合。我的疑问是,如果我在程序当中执行如下语句 Session["userName"] = "admin"; 那么这个键值对是保存在数据库中?我如何能查看到? 3、关于Session作为权限判断的使用方法,大家都是怎么来使用? 直接在登陆的时候写入一个Session键值对,然后在其他页面读取,如要为空则认为没登陆或者Session超时?其实这个Session值应该对应一个Sessionid才对是不是? 还是用的其他方法对Session进行使用? 这些是我的疑问,或者大家觉得权限方面还有比Session更好的都可以提供给我。谢谢先。