Windows Server 2008, IIS 7.5, ASP.NET 4.0. При попытке открыть сайт запросом вида 'www.example.com' происходит редирект на страницу логина с урлом 'www.example.com/login.aspx?ReturnUrl=/', не смотря на то, что дефолтная страница открыта для анонимных пользователей. Кусок конфига:
Страница index.aspx присутствует в списке дефолтных страниц IIS. Если же открыть сайт запросом вида 'www.example.com/index.aspx', то редиректа не происходит. Что подкрутить, уважаемые? Спасибо.
Здравствуйте, IDecember, Вы писали:
ID>Здравствуйте!
ID>Windows Server 2008, IIS 7.5, ASP.NET 4.0. При попытке открыть сайт запросом вида 'www.example.com' происходит редирект на страницу логина с урлом 'www.example.com/login.aspx?ReturnUrl=/', не смотря на то, что дефолтная страница открыта для анонимных пользователей. Кусок конфига: ID>
ID>Страница index.aspx присутствует в списке дефолтных страниц IIS. Если же открыть сайт запросом вида 'www.example.com/index.aspx', то редиректа не происходит. Что подкрутить, уважаемые? Спасибо.
<allow users="*"/> — это не разрешение для анонимных пользователей, а разрешение для всех аутентифицированных пользователей
Попробуйте <allow users="?"/>
Здравствуйте, vmpire, Вы писали:
V><allow users="*"/> — это не разрешение для анонимных пользователей, а разрешение для всех аутентифицированных пользователей V>Попробуйте <allow users="?"/>
Не может быть.
A question mark (?) indicates that anonymous users are granted access to the resource. An asterisk (*) indicates that all users are granted access to the resource.
Здравствуйте, IDecember, Вы писали:
ID>Не может быть.
Правильно, * означает всех пользователей.
В конфиге написано, что доступ к index.aspx разрещен всем. Естественно, что редиректа не случится при прямом обращении, т.к. логин не требуется. То, что он происходит при обращении к корню сайта скорее всего означает, что есть какая-то страница которая в списке дефолтных страниц IIS находится раньше index.aspx, а к ней доступ закрыт.
Здравствуйте, IDecember, Вы писали:
ID>Здравствуйте, vmpire, Вы писали:
V>><allow users="*"/> — это не разрешение для анонимных пользователей, а разрешение для всех аутентифицированных пользователей V>>Попробуйте <allow users="?"/>
ID>Не может быть.
ID>
ID>A question mark (?) indicates that anonymous users are granted access to the resource. An asterisk (*) indicates that all users are granted access to the resource.
Да, я поторопился, извините.
А index.aspx указана первой в списке дефолтных страниц?
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, IDecember, Вы писали:
ID>>Не может быть.
G>Правильно, * означает всех пользователей. G>В конфиге написано, что доступ к index.aspx разрещен всем. Естественно, что редиректа не случится при прямом обращении, т.к. логин не требуется. То, что он происходит при обращении к корню сайта скорее всего означает, что есть какая-то страница которая в списке дефолтных страниц IIS находится раньше index.aspx, а к ней доступ закрыт.
Нет, к сожалению это не так Index.aspx — единственная в списке дефолтных страниц. Странно, но это проявилось после миграции на ASP.NET 4, до этого все было в порядке. Эта болезнь проявляется и на IIS 6, проверил.
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, IDecember, Вы писали:
ID>>Не может быть.
G>Правильно, * означает всех пользователей. G>В конфиге написано, что доступ к index.aspx разрещен всем. Естественно, что редиректа не случится при прямом обращении, т.к. логин не требуется. То, что он происходит при обращении к корню сайта скорее всего означает, что есть какая-то страница которая в списке дефолтных страниц IIS находится раньше index.aspx, а к ней доступ закрыт.
Такое ощущение, что веб-сервер не понимает, что на запрос '/' надо вернуть '/index.aspx'. Раньше понимал
Здравствуйте, IDecember, Вы писали:
ID>Такое ощущение, что веб-сервер не понимает, что на запрос '/' надо вернуть '/index.aspx'. Раньше понимал
А что в логах IIS? Он возвращает 302 сразу на login.aspx или сначала всё-таки на index.aspx?
Здравствуйте, vmpire, Вы писали:
V>Здравствуйте, IDecember, Вы писали:
ID>>Такое ощущение, что веб-сервер не понимает, что на запрос '/' надо вернуть '/index.aspx'. Раньше понимал V>А что в логах IIS? Он возвращает 302 сразу на login.aspx или сначала всё-таки на index.aspx?
Здравствуйте, vmpire, Вы писали:
V>А что в логах IIS? Он возвращает 302 сразу на login.aspx или сначала всё-таки на index.aspx?
Опытным путем было установлено, что, если удалить модуль UrlAuthorization, то на страницу index.aspx по запросу '/' сервер будет пускать, вот правда после аутентификации не пускает на закрытую часть сайта
Здравствуйте, IDecember, Вы писали:
ID>Здравствуйте, vmpire, Вы писали:
V>>А что в логах IIS? Он возвращает 302 сразу на login.aspx или сначала всё-таки на index.aspx?
ID>Опытным путем было установлено, что, если удалить модуль UrlAuthorization, то на страницу index.aspx по запросу '/' сервер будет пускать, вот правда после аутентификации не пускает на закрытую часть сайта
Остались последние две идеи:
1. Попробуйте заменить <location path="index.aspx"> на <location path="~/index.aspx">