IIS 基本身份验证仅保护目录,而不保护单个文件?

IIS 基本身份验证仅保护目录,而不保护单个文件?

我真的希望这不是重复的,但我无法在这里找到类似的东西。

我的问题是:我在装有 IIS 8.5 的 Windows(不确定是 2008 R2 还是 2012)服务器上有一个子目录,我想使用基本身份验证来保护它。我与服务器管理员交谈过,他为我激活了基本身份验证并为我添加了 Windows 用户。保护有效,但仅适用于目录,而不适用于单个文件。

这会导致一些奇怪的情况,例如“sub.domain.com/subsubdir/”只有使用正确的用户/密码组合才能访问,但“sub.domain.com/subsubdir/index.php”却可供所有人访问,我不知道为什么。我在 web.config 中实现此操作的方式如下:

<location path="dir/subdir">  
    <system.web>
        <authorization>
            <allow users="authorizedUser"/>
            <deny users ="?" />    
        </authorization>
    </system.web>
</location>

其中子域名指向“dir/subdir”,因此“sub.domain.com/subsubdir/”即可到达子目录。

我尝试了dir/subdir/dir/subdir/*,但都导致错误。要么是我使用了错误的关键字,要么是 Google 不知道我的问题。

我甚至不确定这是否是我必须自己修复的问题(只能通过 FTP 访问)还是管理员必须更改某些 Windows 设置。有人知道这里发生了什么吗?

编辑:我对自己的子目录感到困惑,忘记了级别。不确定这是否相关,但我还是编辑了它。

答案1

如果不需要匿名用户,则应禁用目录的匿名身份验证。这将解决问题

相关内容