Хочу сделать так, что бы авторизованные пользователи с доступом админа могли переходить по админским ссылкам. Ссылки для авторизованных пользователей работаю, а вот для админов нет. При этом, если пользователь не авторизован и переходит по админской ссылке, то всё равно видит страницу.
PS: Не понимаю как сделать, бьюсь уже 5-6 час. Все методы рабочие...Заранее благодарен!
App.run...
App.run(['$rootScope', '$location', 'User', function($rootScope, $location, User){
$rootScope.$on('$routeChangeStart', function(event, next, current){
if(next.$$route.auth){
if(!User.AuthCheck()){
$location.path('/');
}
if(next.$$route.originalPath == '/'){
if(User.AuthCheck()){
$location.path(current.$$route.originalPath);
}
}
}
if(next.$$route.admin){
if(!User.AuthCheck()){
$location.path('/');
}
if(User.checkAdmin()){
$location.path(current.$$route.originalPath);
}
}
});
$rootScope.AuthCheck = function(){
return User.AuthCheck();
}
$rootScope.checkAdmin = function(){
return User.checkAdmin();
}
}]);
Роуты:
// Освновные роуты
$routeProvide
.when('/', {
templateUrl: 'view/home.html',
controller: 'HomeController',
});
// Для авторизованных
$routeProvide
.when('/auth/logout', {
templateUrl: 'view/auth/logout.html',
controller: 'UserController',
auth: true
});
$routeProvide
.when('/admin', {
templateUrl: 'view/admin/home.html',
controller: 'AdminController',
auth: true,
admin: true
});
$routeProvide.otherwise('/');