在表单模型中,我曾经通过以下方式获取当前登录用户:

Page.CurrentUser

如何在ASP中获得控制器类中的当前用户。净MVC吗?


当前回答

这个页面可能就是你要找的: 在MVC3中使用Page.User.Identity.Name

你只需要User.Identity.Name。

其他回答

IPrincipal currentUser = HttpContext.Current.User;
bool writeEnable = currentUser.IsInRole("Administrator") ||
        ...
                   currentUser.IsInRole("Operator");

我使用:

Membership.GetUser().UserName

我不确定这是否适用于ASP。NET MVC,但它值得一试:)

您可以在ASP中获取用户名。NET MVC4:

System.Web.HttpContext.Current.User.Identity.Name

不管怎样,在ASP中。NET MVC 3你可以使用User来返回当前请求的用户。

如果你在登录页面中,以LoginUser_LoggedIn事件为例,Current.User.Identity.Name将返回一个空值,所以你必须使用yourLoginControlName。用户名属性。

MembershipUser u = Membership.GetUser(LoginUser.UserName);