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