Отключить каталогизацию в IIS - PullRequest
12 голосов
/ 21 марта 2012

В моем веб-приложении все страницы .aspx находятся в каталоге Pages.Структура проекта показана ниже:

enter image description here

Home.aspx установлен в качестве стартовой страницы, а файл Web.config папки Pages содержит:

<configuration>
<location path="Secured">
    <system.web>
    <authorization>     
        <deny users="?"/>
        <allow users="*"/>
    </authorization>
    </system.web>
</location>
</configuration>

И основной файл Web.config имеет:

<authentication mode="Forms">
  <forms loginUrl="~/Pages/Login.aspx" timeout="2880" defaultUrl="~/Pages/Secured/Home.aspx" />
</authentication>

Поэтому, когда приложение запускается, оно перенаправляет на страницу входа с URL:

http://localhost:2453/Pages/Login.aspx?ReturnUrl=%2fPages%2fSecured%2fHome.aspx

Теперь, если я удалю

Login.aspx? ReturnUrl =% 2fPages% 2fSecured% 2fHome.aspx

с этого URL и нажмите Enter, этоперенести меня в список каталогов:

enter image description here

Что я хочу, чтобы он снова отправил меня на страницу входа, расположенную по адресу

http://localhost:2453/Pages/Login.aspx

Как мне этого добиться?Ваша помощь будет оценена.

Спасибо.

localhost: enter image description here

1 Ответ

19 голосов
/ 21 марта 2012

Вам необходимо отключить просмотр каталогов из IIS или из web.config

<configuration>
  <location path="Secured">
    <system.webServer>
      <directoryBrowse enabled="false" />
    </system.webServer>
  </location>
</configuration>

эта запись выше относится к IIS 7+, для IIS 6 вам придется сделать это из IIS Manager

...