我试图在aspx页面上获取Windows用户名。
我尝试了以下内容:
<% System.Threading.Thread.CurrentPrincipal = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()) %>
<%= System.Threading.Thread.CurrentPrincipal.Identity.Name %>
但所有这一切都是给我 IIS APPPOOL / SBalance - 这不是Windows用户名!
但是,如果我添加以下服务器控件:
<asp:LoginName ID="LoginName1" runat="server" />
这确实预先填充了我的域名和用户名。
那么如何在不使用登录控件的情况下在aspx页面上将域/用户名作为字符串获取?
由于
答案 0 :(得分:3)
如果您使用Windows身份验证,则可以通过User.Identity.Name
string windowsLogin = Page.User.Identity.Name;
答案 1 :(得分:0)
您需要在web.config
中启用模拟<identity impersonate="true" />
然后您需要在IIS中启用Windows模拟并禁用匿名身份验证