У меня очень странная проблема с формами, я надеюсь, что кто-то может пролить свет на это. Вот что находится в web.config:
<location path="Admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
А для аутентификации:
<authentication mode="Forms">
<forms loginUrl="~/Admin/LogOn.aspx" name="MyAppAdmin" requireSSL="false" path="/Admin" cookieless="UseCookies"/>
</authentication>
Существует также пользовательский поставщик членства, реализующий ValidateUser для хранилища учетных данных. В приложении есть главная страница с элементом управления LoginName.
Кажется, что происходит то, что иногда пользователь входит в систему успешно, но страница входа остается, а не перенаправляет их на ReturnUrl в строке запроса. Мы знаем, что они успешно прошли проверку подлинности, поскольку элемент управления LoginName показывает их личность, и они всегда могут перейти к другому защищенному содержимому.
К сожалению, мы не можем определить шаблон, который вызывает это. Различные браузеры, разные серверы, удаление куки, SSL или без SSL; Там нет различимой картины. Единственное, что ясно , так это то, что после удаления атрибута «путь» из узла форм проблему воспроизвести не удалось.
Что-то явно не так с этой конфигурацией? Есть мысли о возможной причине? Очевидно, что атрибут path не является обязательным, но было бы неплохо выделить вещи немного дальше.