Asp.Net Forms Authentication снова просматривает страницу входа после успешного входа - PullRequest
0 голосов
/ 18 декабря 2009

У меня работает система проверки подлинности с помощью форм.

Я обнаружил странное поведение, такое, что после успешного входа в систему; Меня снова попросили войти, если я захожу на страницу входа со страницы по умолчанию.

Я предполагал, что он перенаправит меня на страницу по умолчанию, так как я уже аутентифицирован.

Вот элемент Web.config, который я использовал:

<authentication mode="Forms">
 <forms loginUrl="login.aspx" defaultUrl="default.aspx" />            
</authentication>
<authorization> 
 <deny users="?"/>
</authorization>

Ответы [ 2 ]

3 голосов
/ 18 декабря 2009

Это нормальное поведение. Страница входа - это обычная веб-форма ASP.NET. Он отобразит все, что в нем.

Вы можете добавить код к событию Form_Load на странице входа в систему, чтобы проверить, аутентифицирован ли пользователь уже. Затем вы можете перенаправить их на значения по умолчанию, вызвав метод FormsAuthentication.RedirectFromLoginPage, если вы хотите этого.

0 голосов
/ 17 сентября 2015

Когда пользователь проходит проверку подлинности на веб-сайте с помощью проверки подлинности с помощью форм, сервер создает файл cookie. Значением cookie является билет проверки подлинности зашифрованных форм. Файл cookie передается на сервер при каждом запросе к приложению, и класс FormsAuthenticationModule расшифровывает значение файла cookie и определяет, является ли пользователь действительным или нет. Я думаю, у вас есть метка удара в вашем проекте web.config. удалить его

...
<modules>
    <remove name="FormsAuthentication" />
</modules>
....

если нет, проверьте machine.config, он должен иметь следующий тег:

<httpModule>
    …other modules…
    <add name="FormsAuthentication"
        type="System.Web.Security.FormsAuthenticationModule" />
    …other modules…
</httpModule>
...