-1

我正在开发一个需要多个角色的项目,我正在使用https://github.com/Narzerus/angular-permission。我需要对每个角色使用不同的权限集。例如,角色admin可以拥有权限 -> PageViewPageEditPageCreate,而角色查看者只有权限 -> PageView

与每个用户关联的角色都存储在数据库中,我打算使用转换对象功能来确保什么角色与什么用户关联。

我是 Angular 的新手,无法找到一种方法来定义我可以的角色,1. 将多个权限与其关联,2. 将其与转换属性(动态函数)相关联。

4

1 回答 1

0

对于基于角色的授权,您必须管理您的app.configapp.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;

}

于 2017-07-05T09:38:06.990 回答