В настоящее время я создаю веб-приложение, и по очевидным соображениям безопасности мне приходится перенаправлять анонимных пользователей на страницу входа. Перед тем как сделать некоторые исследования, вот что у меня есть для моей страницы Site.Master:ошибка входа в систему (переадресация на страницу входа в систему, если она не вошла в систему)
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/Logout.aspx"/> ]
, как вы можете видеть, я создал свою собственную страницу Выход, который содержит код выхода из системы, FormsAuthentication.Signout
и такие. Также есть ссылка «Выход» на этой странице, которая вызывает эту страницу.
Теперь все прекрасно работает сегодня утром. Когда я нажму ссылку «Выход» в LoginStatus
, выйдите из строя. Я нажимаю ссылку «Выход» на моем сайте, выходим из строя. Я попробовал войти в систему снова, и приложение перенаправляет меня на мою страницу по умолчанию. Но когда я добавил этот бит кода здесь в моем Web.config
:
<authorization>
<deny users="?"/>
</authorization>
что-то странное происходит. Я нажимаю ссылку «Выход» в LoginStatus
, и приложение перенаправляет меня на страницу «Вход», а не на страницу «Выход». Более того, когда я пытаюсь снова войти в систему, приложение перенаправляет меня на страницу «Выход». Это заставляет меня войти в систему TWICE, чтобы снова вернуться в приложение.
Почему/Как это происходит? любое понимание было бы оценено.
как я могу это сделать? Если бы вы могли предложить подход или что-то еще, это было бы высоко оценено. – JamesP
См. Мой отредактированный ответ James – sh1rts