我正在开发一个需要多个角色的项目,我使用https://github.com/Narzerus/angular-permission。我需要对每个角色使用不同的权限集。例如,角色管理员可以拥有权限 - > PageView , PageEdit , PageCreate ,而角色 viewer 只有权限 - > PageView 。
与每个用户相关联的角色存储在数据库中,我打算使用过渡对象功能来确保与哪个用户相关联的角色。
我是棱角分明的新手,无法找到一种方法来定义角色,我可以, 1.用它链接多个权限, 2.将其与过渡属性(动态函数)相关联。
答案 0 :(得分:0)
对于基于角色的授权,您必须管理app.config
和app.run
个文件。只需应用以下设置:
在app.config
档案中:
$routeProvider.when( '/', {
templateUrl: 'views/dashboard.html',
resolve: {
"currentAuth": [ "authService", function( authService ) {
var auth = authService.auth();
return auth;
}]
}
});
app.run( [ authService, function(authService) {
if (role === "admin") {
// Use changeSuccess method on route to redirect.
}
} ] );
并在authService
中从数据库中获取角色。在authservice中添加方法:
function functionName(user){
if (user) {
if (!!~this.roles.indexOf('*')) {
return true;
} else {
for (var userRoleIndex in user.roles) {
for (var roleIndex in this.roles) {
if (this.roles[roleIndex] === user.roles[userRoleIndex]) {
return true;
}
}
}
}
} else {
return this;
}
return false;
}