如何使用MVC将User.Identity添加到会话(或其他东西)

时间:2009-05-28 18:47:52

标签: asp.net-mvc windows-authentication

我正在使用以前的webforms应用程序将其转换为MVC并且有一个大问题,我似乎无法找到任何有用的资源。我希望能够捕获用户的身份(在web.config中设置的windows auth)但在global.asax中我似乎无法访问会话(但我可以获取身份信息)。或者当我在我的控制器的基类中工作时,我无法访问构造函数中的httpContext(但我可以访问会话)

对于这个问题,任何人都有很好的解决方案吗?以前在webforms中我有一个母版页,它做了一些验证并根据你的id /等设置了一些会话变量

1 个答案:

答案 0 :(得分:1)

通过使用此行代码,您始终可以访问会话或任何其他基于httpContext的实体,只要它们已经实例化

HttpContext.Current.Session
HttpContext.Current.Request
HttpContext.Current.Server
...etc

但是,您应该始终可以访问用户&身份信息,无需将其持久保存到会话中,除非您要对Identity进行修改并单独存储这些修改。

HttpContext.Current.User.Identity