设想
用户 一个 可以访问MVC4网站中除一个页面之外的所有页面。但是用户乙 可以访问所有页面(无限制)。
到目前为止我做了什么?
测试结果 -
(1) 当用户B登录网站部署所在的同一系统(开发系统)时,无需提示对话框即可访问该网站。
(2) 但是当相同的网站在服务器(生产系统)上以相同的设置发布时,网站仍然会弹出要求凭据。
** 开发系统和生产系统都在同一个域中(我们将其命名为 domain.com )。
题
为什么网站要求同一域中的同一用户提供凭据?
最佳答案
根据我对 的研究窗口认证 ,我想总结以下几行(也作为我的引用)-
(1) 如果您已正确配置 WA,窗口身份验证(缩写 WA)将始终显示验证用户的提示。
请参阅下面的快照中禁用匿名身份验证和启用 Windows 身份验证。
(2) 即使一套 NTLM 作为顶级提供商比 Kerberos (在 IIS 中),IIS 仍会要求提供 Window 凭据。快照展示了如何做到这一点。
(3) 如果您想避免显示提示 在 WA 浏览器上,按照步骤操作 -
(a) 打开 IE 浏览器 --> Internet 选项 --> 安全选项卡。
(b) 将站点添加到 本地内网 zone 以便浏览器将登录的用户名和密码发送到 IIS。
注 - 以上几点普遍适用于 MVC 和 ASP.NET。
回答我的问题 为什么网站要求同一域中的同一用户提供凭据?
因为我在开发系统上设置了匿名身份验证和 Window 身份验证。 (愚蠢的错误)。
关于asp.net-mvc - 窗口身份验证在 MVC4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22024896/