在表单模型中,我曾经通过以下方式获取当前登录用户:
Page.CurrentUser
如何在ASP.NET MVC中的控制器类中获取当前用户?
如果需要从控制器中获取用户,请使用User
Controller 的属性.如果您从视图中需要它,我会填充您特别需要的内容ViewData
,或者您可以只调用User,因为我认为它是属性ViewPage
.
我发现User
有效,即User.Identity.Name
或User.IsInRole("Administrator")
.
试试HttpContext.Current.User
.
Public Shared Property Current()As System.Web.HttpContext System.Web.HttpContext的
成员摘要:
获取或设置当前HTTP请求的System.Web.HttpContext对象.返回值:
当前HTTP请求的System.Web.HttpContext
您可以在ASP.NET MVC4中获取用户的名称,如下所示:
System.Web.HttpContext.Current.User.Identity.Name
我意识到这已经很老了,但我刚刚开始使用ASP.NET MVC,所以我想我会坚持下去:
Request.IsAuthenticated
告诉您用户是否经过身份验证.
Page.User.Identity
为您提供登录用户的身份.
我用:
Membership.GetUser().UserName
我不确定这会在ASP.NET MVC中有效,但是值得一试:)
登录用户名: System.Web.HttpContext.Current.User.Identity.Name
为了在过滤目的中引用在ASP.NET MVC 4中内置的简单身份验证创建的用户ID(如果您首先使用数据库而实体框架5生成代码优先绑定并且您的表的结构是如此你可以使用那个用户ID的外键)
WebSecurity.CurrentUserId
一旦添加了using语句
using System.Web.Security;
用户名:
User.Identity.Name
但是,如果您只需要获取ID,则可以使用:
using Microsoft.AspNet.Identity;
因此,您可以直接获得用户ID:
User.Identity.GetUserId();
我们可以使用以下代码来获取当前在ASP.Net MVC中登录的用户:
var user= System.Web.HttpContext.Current.User.Identity.GetUserName();
也
var userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; //will give 'Domain//UserName' Environment.UserName - Will Display format : 'Username'
这个页面可能是你要找的:
在MVC3中使用Page.User.Identity.Name
你只需要User.Identity.Name
.
使用System.Security.Principal.WindowsIdentity.GetCurrent().Name
.
这将获得当前登录的Windows用户.