在表单模型中,我曾经通过以下方式获取当前登录用户:
Page.CurrentUser
如何在ASP中获得控制器类中的当前用户。净MVC吗?
在表单模型中,我曾经通过以下方式获取当前登录用户:
Page.CurrentUser
如何在ASP中获得控制器类中的当前用户。净MVC吗?
当前回答
使用System.Security.Principal.WindowsIdentity.GetCurrent () . name。
这将获取当前登录的Windows用户。
其他回答
我发现User工作,即User. identity . name或User. isinrole(“管理员”)。
我使用:
Membership.GetUser().UserName
我不确定这是否适用于ASP。NET MVC,但它值得一试:)
在IIS管理器的“身份验证”下,禁用: 1)匿名认证 2)表单认证
然后添加以下到你的控制器,以处理测试和服务器部署:
string sUserName = null;
string url = Request.Url.ToString();
if (url.Contains("localhost"))
sUserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
else
sUserName = User.Identity.Name;
如果你在登录页面中,以LoginUser_LoggedIn事件为例,Current.User.Identity.Name将返回一个空值,所以你必须使用yourLoginControlName。用户名属性。
MembershipUser u = Membership.GetUser(LoginUser.UserName);
这个页面可能就是你要找的: 在MVC3中使用Page.User.Identity.Name
你只需要User.Identity.Name。