Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关闭浏览器后注销用户_Javascript_Asp.net_Angularjs_Authentication_Asp.net Web Api2 - Fatal编程技术网

Javascript 关闭浏览器后注销用户

Javascript 关闭浏览器后注销用户,javascript,asp.net,angularjs,authentication,asp.net-web-api2,Javascript,Asp.net,Angularjs,Authentication,Asp.net Web Api2,在我的angular应用程序中,我从这里添加angular身份验证 我使用localStorageService 我的保存用户代码是: localStorageService.set('authorizationData', { token: response.access_token, userName: response.userName, refreshToken: response.refresh_token, is_admin: response.is_admin || respo

在我的angular应用程序中,我从这里添加angular身份验证

我使用
localStorageService

我的保存用户代码是:

 localStorageService.set('authorizationData', { token: response.access_token, userName: response.userName, refreshToken: response.refresh_token, is_admin: response.is_admin || response.is_admin == 'true', useRefreshTokens: true });
我的问题是浏览器会保留用户直到令牌过期

如何在关闭浏览器时删除localStorageService


(就像没有过期日期的cookie)

首先检测到浏览器关闭,这是通过
$window.onbeforeunload
,然后删除本地存储。对于服务,请在angular.run生命周期中注册
$window.onbeforeunload
。下面只是一个例子

angular.module('app', [])
      .controller('exitController', function($scope, $window) {
        $scope.onExit = function() {
         $localStorage.$reset();//it will delete all the data from localstorage.
        };

       $window.onbeforeunload =  $scope.onExit;
      });

使用
sessionStorage
instead这将使您注销,无论您是否打开了多个选项卡。