繁体   English   中英

我怎样才能知道使用ASP.NET进行表单身份验证的用户名是什么

[英]How can I tell what the username is of an authenticated using Forms Authentication with ASP.NET

验证用户身份后,我将其用户名存储在会话状态中,但是如果会话超时,我想根据用户使用原始身份验证的用户名为该用户创建一个新会话。 如何从Forms Authentication获得当前已认证的用户?

当前经过身份验证的用户应该是HttpContextUser属性上分配给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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM