如何获取Windows用户名

时间:2012-11-07 16:00:54

标签: c# asp.net vb.net

我试图在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页面上将域/用户名作为字符串获取?

由于

2 个答案:

答案 0 :(得分:3)

如果您使用Windows身份验证,则可以通过User.Identity.Name

获取用户名
string windowsLogin = Page.User.Identity.Name;

答案 1 :(得分:0)

您需要在web.config

中启用模拟
<identity impersonate="true" />

然后您需要在IIS中启用Windows模拟并禁用匿名身份验证