【发布时间】:2016-01-05 14:50:22
【问题描述】:
我一直在尝试读取浏览我的 MVC 应用程序的用户的用户名。 该应用程序没有任何身份验证,并且托管在禁用 Windows 身份验证和启用匿名身份验证的 IIS 中。
现在,我想确保当用户浏览应用程序时,他/她看不到任何用户凭据弹出窗口。所以,我禁用了 Windows 身份验证并启用了匿名身份验证。
但我无法读取用户名。我已经尝试了以下所有方法:
User.Identity.Name
System.Security.Principal.WindowsIdentity.GetCurrent().Name
System.Environment.UserName
但是由于我的用户没有经过身份验证,我没有得到正确的结果。
到目前为止,我已经实现了在以下代码的帮助下,我能够读取用户的机器名称:
我正在使用以下内容读取 IP 地址:
Request.UserHostName
然后,使用以下方法获取机器名称:
IPAddress myIP = IPAddress.Parse(IP);
IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);
List<string> compName = GetIPHost.HostName.ToString().Split('.').ToList();
return compName.First();
我尝试搜索答案并得到以下结果:
https://stackoverflow.com/a/1688220/2429125
但是,即使这对我也没有帮助。 有人可以指点我读取没有匿名访问身份验证的 MVC 应用程序的用户名吗?
谢谢,
苏迪普·阿罗拉
【问题讨论】:
-
您希望在这里使用什么用户名?当前用户的windows登录用户id?
-
@Shetty:是的,绝对是的。
-
@Shetty:但我不想启用表单身份验证。是否可以在没有任何身份验证的情况下实现。非常感谢您的帮助。
标签: c# asp.net-mvc authentication iis anonymous-access