2016-03-14 4 views
0

Я потратил дни, пытаясь найти ответ на этот вопрос, поэтому заранее извиняюсь, если есть где-то мгновенный ответ! Я смотрел и не мог найти ничего, что сработало бы для меня.выйдите из сайта asp.net автоматически, когда срок действия проверки подлинности устарел истек.

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

Я пробовал использовать javascript на интервал, чтобы посмотреть на тайм-аут слева, а затем проверить, истек ли он, а затем вызвать действие logoff(), однако эти вызовы javascript сами являются «запросами», поэтому сайт никогда не выйдет из системы.

Вот настройки web.config для проверки подлинности форм:

<authentication mode="Forms"> 
     <forms loginUrl="~/Account/RedirectLogin" name=".ASPXAUTH" timeout="30"/> 
    </authentication> 

Спасибо!

+0

Я думаю, что вы могли бы искать использовать тайм-аут сеанса http://stackoverflow.com/questions/ 484964/asp-net-push-redirect-on-session-timeout и более поздний http://www.c-sharpcorner.com/UploadFile/0c1bb2/redirect-page-after-session-time-out-in-Asp -Net424/ – Aymeric

ответ

0

В вашей главной странице вы можете определить специальный тег заголовка, который будет перенаправлять пользователь после сеанса истек:

protected override void OnPreRender(EventArgs e) 
{ 
    base.OnPreRender(e); 
    this.PageHead.Controls.Add(new LiteralControl(
     String.Format("<meta http-equiv='refresh' content='{0};url=/Login.aspx'>", 
     Session.Timeout * 60 + 1))); 
} 
+0

Hi Lesmian, у меня нет главной страницы на моем сайте mvc. – iandavidson1982

+0

В этом случае вы можете создать базовый класс для своих страниц и поместить мой код. Затем выведите свой p [возраст из этого базового класса. – Lesmian