如何在 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"
在我的 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"