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

Page.CurrentUser

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


当前回答

用户名:

User.Identity.Name

但如果你只需要获取ID,你可以使用:

using Microsoft.AspNet.Identity;

所以,你可以直接获得用户ID:

User.Identity.GetUserId();

其他回答

我发现User工作,即User. identity . name或User. isinrole(“管理员”)。

我知道这真的很旧,但我刚刚开始使用ASP。NET MVC,所以我想我要坚持我的两分:

请求。IsAuthenticated告诉您用户是否通过了身份验证。 identity为您提供登录用户的标识。

在Asp.net Mvc Identity 2中,你可以通过以下方式获取当前用户名:

var username = System.Web.HttpContext.Current.User.Identity.Name;

使用System.Security.Principal.WindowsIdentity.GetCurrent () . name。

这将获取当前登录的Windows用户。

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