我有ASP.NET网站。
我可以访问公共页面,没关系:
但是当我尝试访问该文件夹时,我收到 403错误:
MyPublicFolder包含 index.htm 。
我希望不允许用户浏览目录,只访问文件夹中的所有页面。
我们遇到以下错误:
403 - 禁止访问:访问被拒绝
您无权使用以下方式查看此目录或页面 您提供的凭据。
<location path="/MyPublicFolder">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
我正在使用IIS 7.5,Windows Server 2008 R2。
有什么建议吗?
更新: web.config
注意: v1 是我的公用文件夹
<location path="v1">
<system.web>
<authorization configSource="Config\system.web.authorization.allow.config" />
</system.web>
<system.webServer>
<defaultDocument>
<files>
<add value="index.htm"/>
</files>
</defaultDocument>
<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
<add wildcard="*" destination="/v1/index.htm" />
</httpRedirect>
</system.webServer>
</location>
<location path="v1/index.htm">
<system.webServer>
<httpRedirect enabled="false" />
</system.webServer>
</location>
答案 0 :(得分:0)
我想到的第一件事是默认文件。你把它设置为&quot; index.htm&#39 ;? Here更多信息。
答案 1 :(得分:0)
听起来有点令人困惑。您说您可以打开http://mysite/MyPublicFolder/index.htm
,这意味着您已经可以访问此文件夹中的所有页面。我可以猜测,当您访问文件夹时,您希望重定向到index.htm
文件。查看IIS管理器中的“默认文档”部分,确保index.htm
存在。
<强>更新强>
您的web.config
文件中似乎有很多无用的配置。将其更改为以下内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="v1">
<system.web>
<authorization configSource="Config\system.web.authorization.allow.config" />
</system.web>
</location>
</configuration>
现在,如果您访问v1
文件夹,它会自动显示您index.htm
文件的内容。