2016-03-14 51 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-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

嗨Lesmian,我沒有我的mvc網站上的母版頁。 – iandavidson1982

+0

在這種情況下,你可以爲你的頁面創建基類,並把我的代碼。然後從這個基類派生你的p [年齡。 – Lesmian

相關問題