![](/img/trans.png)
[英]How do I tell if a user account is already logged in using ASP.Net Forms Authentication?
[英]How can I tell what the username is of an authenticated using Forms Authentication with ASP.NET
验证用户身份后,我将其用户名存储在会话状态中,但是如果会话超时,我想根据用户使用原始身份验证的用户名为该用户创建一个新会话。 如何从Forms Authentication获得当前已认证的用户?
当前经过身份验证的用户应该是HttpContext
的User
属性上分配给IPrincipal
身份的IIdentity
的名称
HttpContext.Current.User.Identity.Name
在ASP.NET MVC中,可通过以下方式在控制器中使用
this.User.Identity.Name
您根本不需要在会话中存储用户名-在页面中,只需访问HttpContext的User属性。 要获取实际的用户名,您可以使用User.Identity.Name
,并且作为快捷方式,ASP.NET Page类本身具有一个user属性,因此您可以执行
string userName = Page.User.Identity.Name;
在您的代码后面。
如果您使用的是ASP.NET MVC,则可以在控制器中访问User属性
string userName = User.Identity.Name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.