Last active
August 29, 2015 14:13
-
-
Save gengen1988/9f0856842bc62d811442 to your computer and use it in GitHub Desktop.
Angular Resolve to ACL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function config($routeProvider) { | |
$routeProvider.when('/', { | |
templateUrl: 'views/root.html' | |
}).when('/entry', { | |
templateUrl: 'views/entry.html', | |
controller: 'AclController', | |
resolve: { | |
acl: function ($q, AclService) { | |
var deferred = $q.defer(); | |
AclService.havePermission().then(deferred.resolve, deferred.reject); | |
return deferred.promise; | |
} | |
} | |
}).when('/forbidden', { | |
templateUrl: 'views/forbidden.html' | |
}).otherwise('/forbidden'); | |
} | |
function AclController() { | |
console.log('controller loaded'); | |
} | |
function AclService($rootScope, $location, $q) { | |
$rootScope.$on('$routeChangeError', function () { | |
$location.path('/forbidden').replace(); | |
}); | |
this.havePermission = function () { | |
var deferred = $q.defer(); | |
if (true) { | |
deferred.resolve(); | |
} else { | |
deferred.reject(); | |
} | |
return deferred.promise; | |
}; | |
} | |
angular.module('app', ['ngRoute']) | |
.config(config) | |
.service('AclService', AclService) | |
.controller('AclController', AclController); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html ng-app="app"> | |
<head> | |
<meta charset="utf-8"> | |
</head> | |
<body> | |
<div ng-view></div> | |
<script src="bower_components/angular/angular.js"></script> | |
<script src="bower_components/angular-route/angular-route.js"></script> | |
<script src="app.js"></script> | |
<script id="views/root.html" type="text/ng-template"> | |
<h1>Helloworld</h1> | |
<a href="#/entry">enter</a> | |
</script> | |
<script id="views/entry.html" type="text/ng-template"> | |
<h1>You enter the system</h1> | |
</script> | |
<script id="views/forbidden.html" type="text/ng-template"> | |
<h1>You have not permission</h1> | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment