簡體   English   中英

angularjs中的會話超時

[英]session timeout in angularjs

有什么辦法可以使用Angularjs管理用戶會話嗎?

會話超時-系統空閑時。 會話快要到期時,會發出警報(帶有消息的彈出式窗口,您要繼續(是或否)),並可以選擇恢復會話。 如果會話已過期,則嘗試發出請求時重定向(或其他任何操作)。 會話超時后,用戶必須自動注銷。

提前致謝。

嘗試ng-idle。 它是一個簡單的組件,您可以在其中設置超時和警告時間,直到達到超時。 然后,您可以查詢服務器上的用戶注銷或類似內容。

myApp.config(function(IdleProvider, KeepaliveProvider) {
  IdleProvider.idle(900); // 15 min
  IdleProvider.timeout(60);
  KeepaliveProvider.interval(600); // heartbeat every 10 min
  KeepaliveProvider.http('/api/heartbeat'); // URL that makes sure session is alive
});

myApp.run(function($rootScope, Idle) {
  Idle.watch();
  $rootScope.$on('IdleStart', function() { /* Display modal warning or sth */ });
  $rootScope.$on('IdleTimeout', function() { /* Logout user */ });
});

在以上配置中,當用戶空閑900秒(不移動鼠標,按任何鍵或按鈕等)時,將顯示警告。 然后它將等待60秒鍾並注銷用戶(將請求發送到可能破壞服務器會話的服務器)。

為了確保服務器會話不會過期(即使用戶所做的一切都在移動鼠標),Keepalive服務將每10分鍾向服務器發送一次請求。 此時間必須少於服務器會話的到期時間。

演示鏈接: http : //hackedbychinese.github.io/ng-idle/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM