繁体   English   中英

在IIS中未启用身份验证和匿名身份验证的MVC应用程序中获取用户名

[英]Getting username in an mvc application with no authentication and anonymous authentication enabled in IIS

我一直试图读取浏览我的MVC应用程序的用户的用户名。 该应用程序没有任何身份验证,并且托管在IIS中,并且禁用了Windows身份验证并启用了匿名身份验证。

现在,我要确保当用户浏览应用程序时,他/他不会看到任何弹出的用户凭据。 因此,我已禁用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应用程序的用户名?

谢谢,

苏迪普·阿罗拉(Sudip Arora)

这样做是不可能的,因为您当前的设置不会要求任何最终用户凭据。

您至少必须切换到表单身份验证或Windows身份验证。

无需任何身份验证即可实现

否。为什么浏览器会将访问者的用户名发送到他们访问的每个网站?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM