[comment]: # ({a0f60ec7-a0f60ec7})
# role.update

[comment]: # ({/a0f60ec7-a0f60ec7})

[comment]: # ({63875138-63875138})
### 描述

`object role.update(object/array roles)`

此方法允许update现有角色。

::: noteclassic
此方法仅适用于*超级管理员*用户类型。
调用该方法的权限可在用户角色设置中撤销。详见
[User
roles](/manual/web_interface/frontend_sections/administration/user_roles)
获取更多信息。

:::

[comment]: # ({/63875138-63875138})

[comment]: # ({826d9f46-fa5c3d93})
### 参数

`(object/array)` 待更新的角色属性.

`roleid` 属性必须为每个角色定义，其他所有
属性均为可选。仅传递的属性会被更新，其他
属性将保持不变.

除[角色](object#角色)外，该方法
还接受以下参数.

| 参数 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| rules | array | 角色访问[角色规则](object#角色规则)以update的权限. |

[comment]: # ({/826d9f46-fa5c3d93})

[comment]: # ({12d196f6-12d196f6})
### 返回值

`(object)` 返回一个包含更新角色ID的object，该结果存储在`roleids`属性下。

[comment]: # ({/12d196f6-12d196f6})

[comment]: # ({b41637d2-b41637d2})
### 示例

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({ba624f03-1ce1fe70})
#### 禁用脚本执行功能

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

请求:

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "actions": [
                    {
                        "name": "execute_scripts",
                        "status": "0"
                    }
                ]
            }
        }
    ],
    "auth": "3a57200802b24cda67c4e4010b50c065",
    "id": 1
}
```
响应:

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

[comment]: # ({/ba624f03-1ce1fe70})

[comment]: # ({9a05bab8-a6349165})
#### 限制对 API 的访问

更新ID为"5"的角色，禁止调用任何"create"、"update"或"delete"
方法。

请求:

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "api.access": "1",
                "api.mode": "0",
                "api": ["*.create", "*.update", "*.delete"]
            }
        }
    ],
    "auth": "3a57200802b24cda67c4e4010b50c065",
    "id": 1
}
```
响应:

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

[comment]: # ({/9a05bab8-a6349165})

[comment]: # ({36db1bd2-36db1bd2})
### 来源

CRole::update() 位于 *ui/include/classes/api/services/CRole.php* 文件中。

[comment]: # ({/36db1bd2-36db1bd2})
