脚本
用户A可以访问MVC4网站中的所有页面,除了一个.但是用户B可以访问所有页面(没有限制).
到目前为止我做了什么?
>在IIS 7.5上部署网站.
>启用窗口身份验证并禁用IIS上托管网站的匿名身份验证.
>测试网站.
测试结果 –
(1)当用户B登录部署网站的同一系统(开发系统)时,他可以在没有提示对话的情况下访问该网站.
(2)但是当相同的网站在具有相同设置的服务器(生产系统)上发布时,网站仍然要求弹出凭据.
**开发系统和生产系统都在同一个域中(我们将其命名为domain.com).
题
为什么网站要求同一域中的同一用户提供凭据?
解决方法
根据我对Window Authentication的研究,我想总结以下几行(也作为我的参考) –
(1)如果您正确配置了WA,则窗口验证(缩写为WA)将始终显示验证用户的提示.
请参阅下面的快照中禁用的匿名身份验证和Windows身份验证.
(2)即使将NTLM设置为顶级提供程序而不是Kerberos(在IIS中),IIS仍将要求Window凭据.快照显示了如何做到这一点.
(3)如果您想避免在浏览器上显示WA的提示,请按照以下步骤操作 –
(a)打开IE浏览器 – >互联网选项 – >安全选项卡.
(b)将站点添加到本地Intranet区域,以便浏览器将登录的用户名和密码发送到IIS.
注 – 以上几点普遍适用于MVC和ASP.NET.
回答我的问题为什么网站要求同一域中的同一用户提供凭据?
因为我在开发系统上设置了匿名身份验证以及Window身份验证. (愚蠢的错误).