我有一个 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>
这些都“起作用”,因为它们允许匿名用户访问网络服务。但是,IIS 似乎仍会发送授权挑战,因为当我从浏览器访问该服务时,我会收到一个输入用户名和密码的框。如果我点击取消,我可以匿名访问该页面。然而,我们的一些客户并没有很好地处理这个问题,并且因为 401 返回码而失败。
有没有办法在该单个位置完全禁用 Windows 身份验证,以便 IIS 不会尝试建立 Windows 身份验证?
最佳答案
您需要在该单个位置的虚拟目录上禁用 Windows 身份验证。那么你不应该受到挑战。
关于asp.net - 在单个位置禁用 Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5222556/