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()。