绕过Windows身份验证

时间:2012-08-09 20:41:01

标签: asp.net windows authentication

我有一个ASP.NET Intranet应用程序,配置为在集成Windows身份验证模式下运行。在最近出现需求之前,它一直很好。

需要通过可用性检查程序(Windows服务)检查Intranet的可用性。检查器的作用是访问ASP.NET页面并检查响应对象。由于Windows服务未使用域用户帐户运行,因此

  

远程服务器返回错误:(401)未经授权。

我正在考虑添加一个新的asp.net页面供我使用的检查器,我想告诉系统不要对它进行身份验证。但我相信认证发生在应用程序甚至有机会查看页面之前,在应用程序代码“看到”页面之前返回401错误。

我有什么办法可以解决这个问题?

谢谢!

约翰

2 个答案:

答案 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中访问的任何内容都不应进行身份验证。