如何使用ASP.NET身份验证表明身份验证的用户名是什么

时间:2010-06-13 16:16:54

标签: asp.net forms-authentication

用户通过身份验证后,我将其用户名存储在会话状态,但如果会话超时,我想根据用户使用原始身份验证的用户名为用户创建新会话。如何从Forms Authentication获取当前经过身份验证的用户?

2 个答案:

答案 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