我有一个ASP.NET Intranet应用程序,配置为在集成Windows身份验证模式下运行。在最近出现需求之前,它一直很好。
需要通过可用性检查程序(Windows服务)检查Intranet的可用性。检查器的作用是访问ASP.NET页面并检查响应对象。由于Windows服务未使用域用户帐户运行,因此
远程服务器返回错误:(401)未经授权。
我正在考虑添加一个新的asp.net页面供我使用的检查器,我想告诉系统不要对它进行身份验证。但我相信认证发生在应用程序甚至有机会查看页面之前,在应用程序代码“看到”页面之前返回401错误。
我有什么办法可以解决这个问题?
谢谢!
约翰
答案 0 :(得分:3)
除了添加新文件夹(如@GordonBell所评论),您可以使用根web.config文件中的location
元素。
示例:
<location path="YourFile.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
答案 1 :(得分:1)
试试这个:
在您的网站上添加一个新文件夹(例如:/ Check)
在/ Check中,创建包含以下内容的新web.config:
<configuration>
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</configuration>
然后您在/ Check中访问的任何内容都不应进行身份验证。