role.update

描述

object role.update(object/array roles)

此方法允许update现有角色。

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

参数

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

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

角色外,该方法还接受以下参数.

参数 数据类型 描述
rules array 该角色访问角色规则以update的权限.

返回值

(object) 返回一个包含更新角色ID的object对象 该对象位于roleids属性下

示例

禁用脚本执行功能

更新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 }

来源

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