窗口身份验证在MVC4中不起作用

Vik*_*ini 8 authentication asp.net-mvc iis-7.5 asp.net-mvc-4

脚本

用户A可以访问MVC4网站中的所有页面,除了一个.但是用户B可以访问所有页面(没有限制).

到目前为止我做了什么?

  1. 在IIS 7.5上部署了网站.
  2. 启用窗口身份验证并禁用IIS上托管网站的匿​​名身份验证.
  3. 测试网站.

测试结果 -

(1)当用户B登录部署网站的同一系统(开发系统)时,他可以在没有提示对话的情况下访问该网站.

(2)但是当相同的网站在具有相同设置的服务器(生产系统)上发布时,网站仍然要求弹出凭据.

**开发系统生产系统都在同一个域中(我们将其命名为domain.com).

为什么网站要求同一域中的同一用户提供凭据?

Vik*_*ini 7

根据我对Window Authentication的研究,我想总结以下几行(也作为参考) -

(1)如果您正确配置了WA,则窗口验证(缩写为WA)将始终显示验证用户的提示.

请参阅下面的快照中禁用的匿名身份验证Windows身份验证.

(2)即使将NTLM设置为顶级提供程序而不是Kerberos(在IIS中),IIS仍将要求Window凭据.快照显示了如何做到这一点.

如何为窗口身份验证设置IIS提供程序

(3)如果您想避免在浏览器上显示 WA的提示,请按照以下步骤操作:

(a)打开IE浏览器 - > Internet选项 - > 安全选项卡.

(b)将站点添加到本地Intranet区域,以便浏览器将登录的用户名和密码发送到IIS.

将网站添加到Intranet区域

注 - 以上几点普遍适用于MVC和ASP.NET.

回答我的问题 为什么网站要求同一域中的同一用户提供凭据?

因为我在开发系统上设置了匿名身份验证以及Window身份验证.(愚蠢的错误).