2017-04-27 83 views
0

可以有人建議在我的asp.net mvc應用程序中執行表單身份驗證的最佳方式。我的要求是,如果用戶閒置5分鐘,應用程序應該自動重定向到登錄頁面。什麼是最好的方法?ASP.NET MVC身份驗證和會話超時

+1

您可以在表單身份驗證Cookie上啓用slidingExpiration。 –

回答

0

更新你的web.config如下:

<system.web> 

    <authentication mode="Forms"> 
     <forms name="AppName.Auth" loginUrl="~/Account/Login" protection="All" timeout="300" path="/" slidingExpiration="true" /> 
    </authentication> 

</system.web> 

超時= 「300」 - >5分鐘X60秒

所有MVC動作飾[授權]屬性將用戶重定向到在5分鐘不活動之後登錄頁面。

+0

感謝您的回覆。我給出了同樣的方式,但是當我刷新頁面時它正在重定向。不自動 – SJoy

+0

啊,看起來你在這裏發送一個異步http請求。正確,它不會重定向你。您必須手動執行此操作。掛鉤自己的自定義Authorize屬性,例如調用它[AuthorizeUser],並編寫處理異步請求onAthorization事件的代碼。搜索如何做到這一點,它可以很容易地完成。 –

+0

另一種方法是調用web api方法而不是mvc方法。 System.Web.Http命名空間的web api的[Authorize]屬性爲你做了。它會引發一個401未經授權的響應頭,您可以捕獲客戶端回調並相應採取行動。 –