如何在 WSO2 中获得特定用户角色 api store/publisher

How do I get particular users role in WSO2 api store/publisher

在我的 WSO2 api 商店实例中,我想做一些修改,以便我可以只允许管理员执行某些操作,而不是普通 Publiser/Subscriber。例如,如果我想限制其他用户编辑我发布的 API,并且只有管理员角色应该被赋予修改任何 API 的权限。为此,我怎样才能获得用户角色?

我尝试从碳模块获取角色

/modules/carbon/scripts/user/user.js

  User.prototype.getRoles = function () {
        return this.um.manager.getRoleListOfUser(this.username);
    };

    User.prototype.hasRoles = function (roles) {
        var i, j, role,
            rs = this.getRoles(),
            length1 = roles.length,
            length2 = rs.length;
        L1:
            for (i = 0; i < length1; i++) {
                //Array.indexOf() fails due to Java String vs JS String difference
                role = roles[i];
                for (j = 0; j < length2; j++) {
                    if (role == rs[j]) {
                        continue L1;
                    }
                }
                return false;
            }
        return true;
    };

但是调用此方法失败。任何人都知道如何获得登录用户的角色,或者如何检查登录用户是否是管理员?

您可以通过为用户分配所需的角色来做到这一点,查看 Adding User Roles

或者

您可以使用 WSO2 API 经理的发布者 API "Validate Roles" tr 检索登录用户的角色。

Description :
      Check if the user logged in user is any one in a given list of users
URI :
      http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag
URI Parameters :    
      action=validateRoles&roles=<list of roles>
HTTP Methods    :
      GET
Example :
      curl -b cookies "http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag?action=validateRoles&roles=admin"