在我们的项目中,用户可以将文档上传到目录。问题是用户无法通过 URL 访问这些文件。
在 IIS 中使用权限后,我能够通过更改文件(或文件夹)的权限以允许 IIS_IUSRS“读取”来下载文件。我的问题是这些文件夹也是动态生成的,我不想手动必须通过并更改每个文件夹的权限。
我正在尝试获取 web.config 文件以允许读取这些文件,但我无法获得正确的配置。
在网站的 web.config 文件中,我有:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="path/to/upload/directory">
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="false" />
<anonymousAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
</configuration>
但是,再次访问该文件时,我收到 500.19 错误:
AnonymousAuthenticationModule
此配置部分不能用于此路径。当该部分锁定在父级别时会发生这种情况。默认情况下锁定 (overrideModeDefault="Deny"
),或者由带有overrideMode="Deny"
或 legacy的位置标记显式设置allowOverride="false"
。
按照这个答案,我在 applicationHost.config 中设置AnonymousAuthenticationModule
为lockItem="false"
,并anonymousAuthentication
重新Allow
启动服务器。毕竟,我仍然得到相同的 500.19 错误。