2015-11-05 523 views
1

我期待加入會話超時警告對話框前15分鐘會彈出expires.The指示的會議即將到期,這樣用戶可以繼續/延長會話或者他也可以退出會話超時警告對話框MVC

我怎樣才能做到這一點。

我試圖研究如何做到這一點,但我沒有找到任何幫助我的東西。

我意識到我需要這樣的事,但我不知道一個過濾器將如何幫助

Redirect to specific page after session expires (MVC4)

還我看着http://www.codeproject.com/Articles/227382/Alert-Session-Time-out-in-ASP-Net 但我沒有道理給我。

我看着超時dialog.js我如何能在MVC

幫助使用這將是apreciated

回答

3

你應該試試這個

@{ 
     var conf = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath); 
     var section = (System.Web.Configuration.SessionStateSection)conf.GetSection("system.web/sessionState"); 
     string timeout = section.Timeout.TotalMinutes.ToString(); 
} 

<script> 
$(document).ready(function() { 

       var time = @timeout * 1000 * 60; 
       var timeout; 
       var isLogout = false; 

       timeout = setTimeout(function() { 
        //Things you need to do 
         isLogout = true; 

       }, time); 

       $(document).on('click', function() { 
        if (!isLogout) { 
         clearTimeout(timeout); 
         timeout = setTimeout(function() { 
          //Things you need to do 
          isLogout = true; 
         }, time); 
        } 
       }); 
      }); 
</script> 
+0

string timeout = Session.Timeout.ToString(); 或var timeout = Session.Timeout * 1000 * 60; –

+0

@JohnTolar'字符串超時值'是一個c#變量 – Jigarb1992

1

How to know when OWIN cookie will expire?

看起來像你說的是什麼?讓我知道如果它不是。

+0

不,我想希望超時dialog.js一樣。但我不知道如何將其納入我的項目。 – DotNetBeginner

+0

是的,所以使用上面的代碼,通過UTC時間直到您的視圖模型到期,或者每隔一段時間傳遞一次JS調用。然後,當令牌到期之前剩餘「x」時間量時,彈出一個模式或其他內容; EX:你可以使用ajax調用一個控制器函數來獲得令牌到期的時間。一旦這個時間返回到JS你可以使用庫。 – Pandamonium99

+0

我明白,但我不使用OWIN我正在使用表單身份驗證。它將如何工作?它會起作用嗎? – DotNetBeginner