role.update

描述

object role.update(object/array roles)

此方法允许更新现有角色。

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

参数

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

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

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

参数 数据类型 描述
rules array 为角色更新的角色规则访问权限。

返回值

(object) 返回一个包含更新后角色ID的object,存储在roleids属性下。

示例

禁用脚本执行功能

更新ID为"5"的角色,禁用执行脚本的权限。

请求:

{
           "jsonrpc": "2.0",
           "method": "role.update",
           "params": [
               {
                   "roleid": "5",
                   "rules": {
                       "actions": [
                           {
                               "name": "execute_scripts",
                               "status": "0"
                           }
                       ]
                   }
               }
           ],
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "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"]
                   }
               }
           ],
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

响应:

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

来源

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