role.update

描述

object role.update(object/array roles)

此方法用于 update 现有角色。

此方法仅适用于 超级管理员 用户类型。 可以在用户角色设置中撤销调用该方法的权限。更多信息请参见 User roles

参数

(object/array) 需要更新的角色属性。

每个角色都必须定义 roleid 属性,所有其他属性是可选的。仅会更新传递的属性,其他属性将保持不变。

除了 角色 外,该方法还接受以下参数。

参数 数据类型 描述
rules array 角色对 update 的访问 角色规则

返回值

(object) 返回一个 object,其中包含在 roleids 属性下列出的已更新角色的 ID。

示例

禁用脚本执行功能

更新角色,ID 为 "5",禁用 execute 脚本的功能。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "actions": [
                    {
                        "name": "execute_scripts",
                        "status": "0"
                    }
                ]
            }
        }
    ],
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}

限制对 API 的访问

使用ID为"5"的角色进行更新,拒绝调用任何"create"、"update"或"delete"方法。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "api.access": "1",
                "api.mode": "0",
                "api": ["*.create", "*.update", "*.delete"]
            }
        }
    ],
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}

来源

ui/include/classes/api/services/CRole.php 中的 CRole::update()。