用户通过身份验证后,我将其用户名存储在会话状态,但如果会话超时,我想根据用户使用原始身份验证的用户名为用户创建新会话。如何从Forms Authentication获取当前经过身份验证的用户?
答案 0 :(得分:2)
当前经过身份验证的用户应该是IIdentity
中分配给User
HttpContext
媒体资源IPrincipal
身份的名称
HttpContext.Current.User.Identity.Name
在ASP.NET MVC中,它可以通过
在控制器中使用this.User.Identity.Name
答案 1 :(得分:1)
您根本不需要在会话中存储用户名 - 在您的页面中只需访问HttpContext的User属性即可。要获取实际的用户名,您将使用User.Identity.Name
,并且作为一个方便的捷径,ASP.NET Page类本身具有用户属性,因此您可以这样做
string userName = Page.User.Identity.Name;
在您的代码中。
如果您正在使用ASP.NET MVC,则可以在控制器中访问用户属性
string userName = User.Identity.Name