28 lines
1.2 KiB
JavaScript
28 lines
1.2 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
angular.module('users').service('Authorization', ['$rootScope', '$location', 'Principal',
|
||
|
function($rootScope, $location, Principal) {
|
||
|
|
||
|
this.authorize = function() {
|
||
|
return Principal.identity().then(function(){
|
||
|
var isAuthenticated = Principal.isAuthenticated();
|
||
|
if( angular.isDefined($rootScope.toState.data) ){
|
||
|
// if ($rootScope.toState.data.roles && $rootScope.toState.data.roles.length > 0 && !principal.isInAnyRole($rootScope.toState.data.roles)) {
|
||
|
if (!isAuthenticated){ //$location.path('/access_denied'); // user is signed in but not authorized for desired state
|
||
|
// console.log('isAuthenticated: '+isAuthenticated);
|
||
|
|
||
|
// else {
|
||
|
// user is not authenticated. so the state they wanted before you
|
||
|
// send them to the signin state, so you can return them when you're done
|
||
|
$rootScope.returnToState = $rootScope.toState;
|
||
|
$rootScope.returnToStateParams = $rootScope.toStateParams;
|
||
|
|
||
|
// now, send them to the signin state so they can log in
|
||
|
$location.path('/signin');
|
||
|
}
|
||
|
// }
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
}
|
||
|
]);
|