How to get the current user in ASP.NET MVC
In a forms model, I used to get the current logged-in user by:
Page.CurrentUser
How do I get the current user inside a controller class in ASP.NET MVC?
Solution 1:
If you need to get the user from within the controller, use the User
property of Controller. If you need it from the view, I would populate what you specifically need in the ViewData
, or you could just call User as I think it's a property of ViewPage
.
Solution 2:
I found that User
works, that is, User.Identity.Name
or User.IsInRole("Administrator")
.
Solution 3:
Try HttpContext.Current.User
.
Public Shared Property Current() As System.Web.HttpContext
Member of System.Web.HttpContextSummary:
Gets or sets the System.Web.HttpContext object for the current HTTP request.Return Values:
The System.Web.HttpContext for the current HTTP request
Solution 4:
You can get the name of the user in ASP.NET MVC4 like this:
System.Web.HttpContext.Current.User.Identity.Name
Solution 5:
I realize this is really old, but I'm just getting started with ASP.NET MVC, so I thought I'd stick my two cents in:
-
Request.IsAuthenticated
tells you if the user is authenticated. -
Page.User.Identity
gives you the identity of the logged-in user.