我想跟踪用户的登录会话,从他们登录到我的网站,到他们注销的时间。
是否有我应该使用的预先存在的cookie,或变量?我想到了使用ASP。. NET sessionid,但在StackOverflow上读到这些数字可能会改变。
我会保存我自己的Session cookie,但我不想做一些可以用其他方式更有效地完成的事情。我使用Windows身份基础(WIF)来处理我的身份验证层。
我在fiddler中看到的唯一cookie是FedAuth cookie,所以我假设我可能能够从中获得一些有价值的信息,但我不知道在WIF框架中的哪里/如何获得这些信息。
WIF提供了一堆您可以订阅的事件。看到这些:
http://msdn.microsoft.com/en-us/library/microsoft.identitymodel.web.wsfederationauthenticationmodule_members.aspx http://msdn.microsoft.com/en-us/library/microsoft.identitymodel.web.sessionauthenticationmodule_members.aspx你可以通过配置-一个隐藏的宝石:WIF配置模式来控制一些cookie特征。特别要注意cookieHandler部分和
hideFromScript - Boolean - default true控制是否对于写入的任何cookie都会触发"HttpOnly"标志。某些网页浏览器通过阻止客户端脚本访问来实现这个标志cookie值。
就WIF而言,在令牌中存在反序列化。SessionSecurityTokenCookieSerializer和一个CookieHandler (Delete/Read/Write)在IdentityModel.Web.