У меня есть приложение ASP.NET с включенной аутентификацией с помощью форм, развернутое на сервере IIS 7. В файле web.config я добавил <location>
разделов для исключения документов по умолчанию (index.html / default.aspx) из аутентификации.
Если я перейду в каталог к http://mysite.com/default.aspx
, все работает как положено. Он не требует аутентификации. Однако, если я перейду к http://mysite.com/
, он всегда перенаправляется на страницу входа с проверкой подлинности с помощью форм.
У меня есть настройка документа по умолчанию в IIS как default.aspx
, но он всегда будет перенаправлять, если я не включу страницу default.aspx в URL-адрес.
Есть ли способ запретить перенаправление на страницу входа, если пользователь переходит только на «корневой» сайт?
Теги местоположения могут быть нацелены на определенные файлы и подпапки, но не на корень (т.е. /). Один из вариантов - начать со всеми разрешенными и заблокировать файлы и папки. Проблема в том, что если вы забудете сделать это для новых папок, ваш сайт может оказаться уязвимым.
Я считаю, что вы можете использовать URL Rewrite для обработки документа по умолчанию и указать default.aspx с правилом перезаписи. Например, в совпадении URL используйте «^ $», что ничего не означает. Затем для действия перепишите в /default.aspx. Тогда .NET увидит /default.aspx и не будет перенаправлять за вас.