asp.net – 在单个位置禁用Windows身份验证

我有一个Web应用程序,我想提供匿名访问其中的几个Web服务,以便我们可以从计算机访问Web服务,而无需在我们的网络上登录Windows.

我已经尝试过这里的东西了Disable authentication on subfolder(s) of an ASP.NET app using windows authentication.我做到了这个:

<authentication mode="Windows" />
<authorization>
  <deny users="?" />
</authorization>

  <location path="Tests/QService.asmx">
    <system.web>
      <authorization>
        <allow users="?" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

这两者都“起作用”,因为它们允许匿名用户访问Web服务.但是,似乎IIS仍然发送授权挑战,因为当我从浏览器访问服务时,我得到一个框来输入我的用户名和密码.如果我点击取消,我会匿名访问该页面.但是,我们的一些客户端不能很好地处理这个问题,因为401返回代码而失败.

有没有办法在该单一位置完全禁用Windows身份验证,以便IIS不会尝试建立Windows身份验证?

最佳答案
您需要在虚拟目录上为该单个位置禁用Windows身份验证.那你不应该被挑战.

转载注明原文:asp.net – 在单个位置禁用Windows身份验证 - 代码日志