如何找出ASP.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\IUSR
, Request.LogonUserIdentity.User
– S-1-5-17
,所有其他 – 空字符串。 NT AUTHORITY\IUSR
是运行Web应用程序的计算机上的用户,而不是客户端计算机上的用户。
在web.config
我使用了禁用模拟
我该怎么做才能获取访问该网页的用户的用户名?
您必须将IIS中的身份validation设置为Windows身份validation(并可能禁用所有其他身份validation):
去:
- 网站
- IIS – 身份validation
- 根据您的意愿编辑