IIS 6 ASP.NET по умолчанию сопоставления обработчиков и виртуальные каталоги

У меня проблема с настройкой сопоставления по умолчанию в IIS 6. Я хочу защитить файлы *.HTML с проверкой подлинности на основе форм ASP.NET. Кажется, проблема связана с использованием виртуальных каталогов для хранения html-файлов. Вот как это делается:

образец дерева каталогов

c:/inetpub/ (nothing in here)
d:/web_files/my_web_apps
d:/web_files/my_web_apps/app1/
d:/web_files/my_web_apps/app2/
d:/web_files/my_web_apps/html_files/

app1 и app2 оба обращаются к одному и тому же каталогу html_files, поэтому html_files устанавливается как виртуальный каталог в веб-приложениях в IIS...

образец дерева веб-каталогов

//app1/html_files/ (points to physical directory: d:/web_files/my_web_apps/html_files/)

//app2/html_files/ (points to physical directory: d:/web_files/my_web_apps/html_files/)

Если я помещаю файл с именем test.html в корень //app1/, а затем добавляю сопоставление по умолчанию в dll asp.net и настраиваю свою безопасность в корневой папке с помощью deny="?", То доступ к test.html работает именно так, как и ожидалось. Если я не авторизован, он переходит на страницу login.aspx, и если я аутентифицирован, то отображается test.html.

Если я помещаю файл test.html в каталог html_files, я получаю совершенно другое поведение. Теперь страница login.aspx загружается, и я вставил некоторый код, чтобы проверить, прошел ли я аутентификацию:

<p>autheticated: <%=User.Identity.IsAuthenticated%></p>

Я подумал, что это скажет false, потому что иначе зачем загружать страницу входа? Нет, он говорит, что правда - поэтому он знает, что я аутентифицирован, но он не даст мне доступ к файлу test.html.

Я потратил несколько часов на это и не смог решить. Я собираюсь потратить немного времени на Google, чтобы увидеть, если я что-то пропустил. Скрещенные пальцы.

1 ответ

Я понял. С большим чтением и большим количеством проб и ошибок. Где-то вдоль линии кто-то преобразовал виртуальные каталоги в приложения в консоли управления IIS6. Я "удалил" приложение из каждой из рассматриваемых директорий, и теперь защита работает так, как она должна.

Другие вопросы по тегам