IIS 7.5授权规则未按预期工作

本文关键字:工作 规则 授权 IIS | 更新日期: 2023-09-27 18:00:33

我有一个基本的Visual Studio项目,一个站点中有两个文件夹,一个名为"pub"的文件夹应该是公开的,另一个称为"auth",需要您登录才能查看内容。我在web.config中有两个位置规则来管理它。我还使用了一个基本的身份验证模块(http://www.asp.net/web-api/overview/security/basic-authentication)添加到IIS中的模块并注册

在VS中,当我使用IISExpress进行调试时,一切都按预期进行,"pub"让我没有问题,auth会使用"basic"auth提示我输入凭据。但当我将网站发布(通过VS,在更新之前删除所有文件)到IIS 7.5时,每个文件夹都需要身份验证,这是错误的。

现在,如果是BasicAuthModule导致了问题,那么如何在IISExpress中使用基本身份验证提示我输入凭据,但如果不是模块,那么IISExpression调试安装和我的服务器之间有什么不同?

实际上没有太多的代码可以显示,但这是我的web.config,其中包含我们正在使用的代码:

-system.webServer-
    -modules-
        -add name="BasicAuthHttpModule" type="WebHostBasicAuth.BasicAuthHttpModule" -
    -/modules-
-/system.webServer-
-system.web-
    -httpRuntime targetFramework="4.5" -
    -authentication mode="Windows" -
-/system.web-
-location path="~/services/public"-
   -system.web-
      -authorization-
        -allow users="*"-
      -/authorization-
   -/system.web-
-/location-
-location path="~/services/auth"-
    -system.web-
      -authorization-
        -deny users="?"-
      -/authorization-
    -/system.web-
-/location-

IIS 7.5授权规则未按预期工作

显而易见的答案,重新设计了网站,使其拥有auth和pub的虚拟目录,并更改了每种方法的auth方法。

我只是觉得应该有更好的方法。