gpt4 book ai didi

angularjs - 根据空闲用户使用 Angularjs 自动注销

转载 作者:行者123 更新时间:2023-12-03 05:16:38 25 4
gpt4 key购买 nike

是否可以使用 angularjs 来确定用户是否处于非事件状态,并在 10 分钟不活动后自动将其注销?

我试图避免使用 jQuery,但我找不到任何关于如何在 AngularJS 中执行此操作的教程或文章。任何帮助将不胜感激。

最佳答案

我编写了一个名为 Ng-Idle 的模块,在这种情况下可能对您有用。 Here is the page which contains instructions and a demo.

基本上,它有一个服务,可以为您的空闲持续时间启动一个计时器,该计时器可能会被用户事件(例如单击、滚动、打字等事件)中断。您还可以通过调用服务上的方法来手动中断超时。如果超时没有中断,则会倒计时发出警告,您可以在其中提醒用户他们将被注销。如果警告倒计时达到 0 后它们没有响应,则会广播您的应用程序可以响应的事件。在您的情况下,它可能会发出请求来终止 session 并重定向到登录页面。

此外,它还有一个保持事件的服务,可以定期 ping 某些 URL。您的应用程序可以使用它来使用户的 session 在事件时保持事件状态。默认情况下,空闲服务与保持事件服务集成在一起,如果它们空闲,则暂停 ping,并在它们返回时恢复 ping。

您需要开始使用的所有信息都在 site 上。更多详细信息请参阅 wiki 。但是,这里有一个配置片段,显示了如何在超时时将其注销。

angular.module('demo', ['ngIdle'])
// omitted for brevity
.config(function(IdleProvider, KeepaliveProvider) {
IdleProvider.idle(10*60); // 10 minutes idle
IdleProvider.timeout(30); // after 30 seconds idle, time the user out
KeepaliveProvider.interval(5*60); // 5 minute keep-alive ping
})
.run(function($rootScope) {
$rootScope.$on('IdleTimeout', function() {
// end their session and redirect to login
});
});

关于angularjs - 根据空闲用户使用 Angularjs 自动注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19168330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com