繁体   English   中英

ASP.NET Windows身份验证拒绝来自RDP用户的访问

[英]ASP.NET Windows authentication deny access from RDP user

我已经从VS模板(MVC)设置了Web应用程序,然后启用Windows身份验证。

<authentication mode="Windows" />
<authorization>
  <allow roles="ABC\Domain Users" />
  <deny users="*" />
</authorization>

然后将Web应用程序发布到IIS服务器。

它工作正常,当从客户端计算机请求应用程序的索引页时,它会自动登录到我,并使用IE通过以下链接http://myteamserver.mycompany/myapplication进行了测试。

但是,如果我将RDP发送到服务器(IIS所在的\\\\myteamserver.mycompany ),并在IE中打开相同的链接,即使输入正确的凭据后,它也会不断提示输入凭据,我将被拒绝访问。

错误信息:

HTTP错误401.2-未经授权由于身份验证标头无效,您无权查看此页面。

问题:在客户端计算机上运行IE和在服务器上运行IE有什么区别?

我检查服务器上的IE设置,选中了“启用集成Windows身份验证”。 我也将RDP发送到另一台服务器,从那里我可以毫无问题地访问Web应用程序。

原来是Windows的安全功能:

当您浏览使用集成身份验证并承载在IIS 5.1或更高版本上的网站时,您会收到错误401.1

症状:

当您使用完全限定的域名(FQDN)或自定义主机标头来浏览运行Microsoft Internet信息服务(IIS)5.1或更高版本的计算机上承载的本地网站时,您可能会收到一条错误消息类似于以下内容:HTTP 401.1-未经授权:登录失败

当网站使用集成身份验证并具有映射到本地回送地址的名称时,会发生此问题。

注意如果您尝试直接在服务器上浏览网站,则只会收到此错误消息。 如果您从客户端计算机浏览该网站,则该网站将按预期工作。

原因:

..环回检查安全功能,旨在帮助防止对计算机的反射攻击。 因此,如果您使用的FQDN或自定义主机标头与本地计算机名不匹配,则身份验证将失败。

如果我使用localhost或IP而不是FQDN,它将起作用。

暂无
暂无

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

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