1. 程式人生 > >第7篇:ui-router登入檢查實現許可權控制

第7篇:ui-router登入檢查實現許可權控制

做專案時用到了前端登入檢查實現使用者許可權控制,在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中獲取登入資訊判斷是否登入

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");
            };
        }
    );
}]);
3)登出清除本地儲存:
$http.get(api.logout_url).success(function(res){
            if(res.code == 0){
                sessionStorage.clear();
                $state.go('login');
            }
});