Tap*_*ose 13 asp.net iis url directory-listing
在我的Web应用程序中,所有.aspx页面都位于Pages目录中.项目结构如下所示:

Home.aspx设置为Start Page,Pages文件夹的Web.config文件包含:
<configuration>
<location path="Secured">
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
Run Code Online (Sandbox Code Playgroud)
主Web.config有:
<authentication mode="Forms">
<forms loginUrl="~/Pages/Login.aspx" timeout="2880" defaultUrl="~/Pages/Secured/Home.aspx" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
因此,当应用程序启动时,它会使用以下URL重定向到"登录"页面:
HTTP://本地主机:2453 /页/的Login.aspx RETURNURL =%2fPages%2fSecured%2fHome.aspx
现在如果我删除了
为Login.aspx?RETURNURL =%2fPages%2fSecured%2fHome.aspx
从该URL并按回车它将带我到目录列表:

我想要它再次将我发送到位于的登录页面
我怎样才能做到这一点?感谢您的帮助.
谢谢.
本地主机:

sca*_*tag 20
您需要禁用IIS或web.config中的目录浏览
<configuration>
<location path="Secured">
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</location>
</configuration>
Run Code Online (Sandbox Code Playgroud)
上面的这个条目适用于IIS 7+,对于IIS 6,您必须从IIS管理器执行此操作
有两种方法可以禁用目录列表:这已经过测试并且适用于 IIS 10。
<configuration>
<system.webServer>
<directoryBrowse enabled="false" /> <!--this line will disable directory browsing-->
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
转到 Internet 信息服务 (IIS) 并查找该Directory Browser选项。选择它,在右上角您会看到一个选项Open Feature。单击它,它将带您进入另一个选项卡。现在选择禁用,您会看到浏览已被禁用。