第7篇:ui-router登入檢查實現許可權控制
阿新 • • 發佈:2018-12-31
做專案時用到了前端登入檢查實現使用者許可權控制,在angularJS外掛中用到了ui-router,可以利用本地儲存實現對登入狀態的監聽,實現如下:
1)登入成功,將登入資訊寫入本地儲存:
$.ajax({ type: 'POST', url: api.login_url, data: data, dataType: "json", success: function(res) { sessionStorage.setItem("id", res.data.name_id); } })
2)路由跳轉實現對登入狀態的監聽:
從sessionStorage中獲取登入資訊判斷是否登入
3)登出清除本地儲存:angular.module('app', ['ui.router']) .run(['$rootScope', '$state','$location', function($rootScope, $state,$location,$scope,$http) { $rootScope.$on('$stateChangeStart', function(event, toState, toParams, unfoundState, fromState, fromParams) { if(!sessionStorage.getItem("id")){ event.preventDefault(); //阻止路由跳轉 $state.go("login"); }; } ); }]);
$http.get(api.logout_url).success(function(res){
if(res.code == 0){
sessionStorage.clear();
$state.go('login');
}
});