您好我在服务器上运行了应用程序。在应用程序中我使用Windows身份验证,但由于我不明原因,它总是返回服务器登录而不是用户。
例如:
<ul class="nav navbar-nav navbar-right">
<li class="navbar-text">Hello, @Environment.UserName!</li>
</ul>
这应该显示:Hello szpicus但它返回:Hello,System(服务器上的页面正在运行NT / System权限)
如何修改代码以识别用户?
答案 0 :(得分:1)
我想你可能正在寻找这个:
//on the local machine use this
string domainName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
//on the publishing server use this
string domainName = System.Web.HttpContext.Current.User.Identity.Name
string name = domainName.Substring(domainName.LastIndexOf("\\") + 1);