如何找出ASP.NET中当前登录用户的名称?

时间:2014-05-16 13:14:56

标签: c# asp.net .net

我有一个ASP.NET应用程序,它在机器1上运行。

当用户从机器2访问该页面时,我想找出他或她在机器2上登录的用户名。

我尝试使用

  • Request.LogonUserIdentity.Name
  • Page.User.Identity.Name
  • ((WindowsIdentity)HttpContext.Current.User.Identity).Name
  • ((WindowsIdentity)HttpContext.Current.User.Identity).User
  • Request.LogonUserIdentity.User

但它不起作用。

Request.LogonUserIdentity.Name返回NT AUTHORITY\IUSRRequest.LogonUserIdentity.User - S-1-5-17,其他所有 - 空字符串。 NT AUTHORITY\IUSR是运行Web应用程序的计算机上的用户,而不是客户端计算机上的用户。

web.config我使用

禁用了模拟
<authentication mode="Windows"/>
<identity impersonate="false"/>

如何获取访问网页的用户的用户名,我该怎么办?

1 个答案:

答案 0 :(得分:4)

您必须将IIS中的身份验证设置为Windows身份验证(并可能禁用所有其他身份验证):

enter image description here

转到:

  • 网站
  • IIS - 身份验证
  • 根据您的意愿编辑