我怎麼在頁面中讓使用者不能做出超過等級的操作和存取?
方法太多,看你的專案規模和系統設計了,如果要限制介面權限(如OAuth2),可以考慮下面這種:
app.factory('authInterceptor', function($q, $cookieStore, $location) { return { request: function(config) { config.headers = config.headers || {}; if ($cookieStore.get('token')) { config.headers.Authorization = 'Bearer ' + $cookieStore.get('token'); } return config; }, responseError: function(response) { if (response.status === 401) { $location.path('/login'); $cookieStore.remove('token'); } return $q.reject(response); } }; }); $httpProvider.interceptors.push('authInterceptor');
如果是路由權限,那麼對上面的程式碼稍加修改,透過判斷session也是可以實現的。 如果你用了ui-router,可以考慮在app.js加入這句話:
ui-router
$rootScope.$on('$stateChangeStart', function(event, next) { return Auth.isLoggedInAsync(function(loggedIn) { if (next.authenticate && !loggedIn) { return $location.path("/login"); } }); });
具體Auth類中怎麼實現或許可以參考另一篇文章:http://blog.coding.net/blog/techniques-for-authentication-in-angular-j...
方法太多,看你的專案規模和系統設計了,如果要限制介面權限(如OAuth2),可以考慮下面這種:
如果是路由權限,那麼對上面的程式碼稍加修改,透過判斷session也是可以實現的。
如果你用了
ui-router
,可以考慮在app.js加入這句話:具體Auth類中怎麼實現或許可以參考另一篇文章:
http://blog.coding.net/blog/techniques-for-authentication-in-angular-j...