[英]How to handle CryptographicException after long inactivity in ASP .NET MVC with Azure AD credentials?
我正在使用包含用戶數據和憑據的Azure Active Directory應用程序。 我使用Microsoft.Azure.ActiveDirectory.GraphClient庫使用此憑據訪問ASP .NET MVC 5應用程序。 長時間不活動后,大約20分鍾,然后單擊一些鏈接,我收到了“服務器運行時錯誤”,無法刷新頁面並再次登錄。 僅清除cookie有效。
我試過的
protected void Application_Error(object sender, EventArgs e) { var error = Server.GetLastError(); var cryptoEx = error as CryptographicException; if (cryptoEx != null) { FederatedAuthentication.WSFederationAuthenticationModule.SignOut(); Server.ClearError(); HttpContext.Current.Response.Redirect("~/"); } }
如此處所述: Azure上的聯合身份驗證
我終於做了一個解決方法:我沒有處理這個令人討厭的異常,而是只是通過JavaScript調度的請求來保持會話,這些請求正在調用控制器並設置了一些Session["Value"]
我還通過確保頁面每30分鍾刷新一次來處理此問題。
可以通過添加meta標簽在HTML中完成
<meta http-equiv="refresh" content="1800">
也可以通過Javascript完成
setInterval(function() {
window.location.reload();
}, 180000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.