[英]Django AngularJS Tornado Websocket - User Session Timeout Example
[英]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分鍾向服務器發送一次請求。 此時間必須少於服務器會話的到期時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.