有没有办法从Session获取HttpContext.User.Identity?

时间:2013-10-03 08:24:42

标签: asp.net session forms-authentication

我想在用户会话到期时运行一些数据库处理,但我需要知道会话过期的用户是什么。

我考虑在登录时设置Session["CurrentUserId"],然后在会话到期时可以访问,但是认为可能有一种方法直接从Session获取HttpContext.User.Identity?

1 个答案:

答案 0 :(得分:0)

好吧,看看MSDN上的class definition,看起来你可以直接从Session的属性/成员访问它。

但是,它们都是同一对象的属性,在您的情况下将成为当前的HttpContext。因此,当会话结束一个上下文(理解:一个http请求)时,上下文的当前用户与您要查找的上下文相同。

否则,您始终可以使用存储在缓存中的哈希表,其中密钥为Session.SessionId,值为用户身份。