在表单模型中,我曾经通过以下方式获取当前登录用户:
Page.CurrentUser
如何在ASP中获得控制器类中的当前用户。净MVC吗?
在表单模型中,我曾经通过以下方式获取当前登录用户:
Page.CurrentUser
如何在ASP中获得控制器类中的当前用户。净MVC吗?
当前回答
var ticket = FormsAuthentication.Decrypt(
HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName].Value);
if (ticket.Expired)
{
throw new InvalidOperationException("Ticket expired.");
}
IPrincipal user = (System.Security.Principal.IPrincipal) new RolePrincipal(new FormsIdentity(ticket));
其他回答
如果有人还在读这篇文章,我用下面的方式访问cshtml文件。
<li>Hello @User.Identity.Name</li>
使用System.Security.Principal.WindowsIdentity.GetCurrent () . name。
这将获取当前登录的Windows用户。
在Asp.net Mvc Identity 2中,你可以通过以下方式获取当前用户名:
var username = System.Web.HttpContext.Current.User.Identity.Name;
在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;
用户名:
User.Identity.Name
但如果你只需要获取ID,你可以使用:
using Microsoft.AspNet.Identity;
所以,你可以直接获得用户ID:
User.Identity.GetUserId();