MVC2站点+ Windows身份验证= 401未授权

时间:2012-03-27 18:34:41

标签: asp.net-mvc asp.net-mvc-2 windows-authentication

我们需要添加Windows身份验证的MVC2站点,其唯一目的是捕获AD登录名 - 站点本身不需要限制。它上面的所有页面都对我们网络上的所有人开放。

所以在我们的web.config中,我们有这个:

<authentication mode="Windows" />

以及几个location个节点,可以向所有用户开放网站的各个区域:

<location path="default">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

<location path=".">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

<location path="sales/index">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

然而,当我们尝试点击sales/index时,它会提示登录,即使正确的登录也会产生401:

  

未授权

     

HTTP错误401.请求的资源需要用户身份验证。

其他一些细节:

  • 我们没有任何类型的授权操作过滤器,因为正如我所说,整个网站应该对我们网络上的所有人保持开放。

  • 我们将IIS(网站和应用程序池)的配置完全相同,我们可以告诉另一个(MVC3)认证有效的网站。

  • 我们还在两者之间配置相同的文件夹权限。

  • 在这一点上,我们能想到的唯一区别是,破坏的是MVC2站点,而工作站点是MVC3站点。

  • 破坏的MVC2站点将提示用户,而工作的MVC3站点则不会 - 它使用直通身份验证。

  • 损坏的MVC2站点将为有效用户返回相同的响应,包括有效密码或密码无效。

  • 如果输入的用户无效,则损坏的MVC2站点将继续提示输入用户名/密码。

0 个答案:

没有答案
相关问题