更新

描述

object user.update(object/array users)

此方法用于更新已经存在的用户。

此方法适用于任何类型的用户。可在用户角色设置中撤销调用该方法的权限,参阅用户角色获取详情。

通过API认证定义的密码策略规则来验证用户密码的强度,参阅API认证获取详情。

参数

(object/array) 要更新的用户属性。

必须为每个用户定义 userid 属性,其他所有属性均为可选。只有传递的属性会被更新,其他所有属性将保持不变。

除了标准用户属性之外,该方法还接受以下参数。

参数 类型 描述
current_passwd string 用户当前的密码。

如果用户已关联到用户目录,则该参数的值可以为空字符串。

参数行为
- 仅写
- 如果设置了用户对象passwd 且用户正在修改自己的用户密码,则为必填
usrgrps array 用于替换现有用户组的用户组

用户组必须仅定义 usrgrpid 属性。
medias array 用于替换现有的、非预配媒体的用户媒体。更新媒体时,可以省略已预配的媒体。

返回值

(object) 返回一个带有userids属性(其中包含被更新用户ID)的对象。

示例

重命名用户

把用户重命名为 John Doe。

请求:

{
    "jsonrpc": "2.0",
    "method": "user.update",
    "params": {
        "userid": "1",
        "name": "John",
        "surname": "Doe"
    },
    "id": 1
}

响应:

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

变更用户角色

变更一个用户的角色。

请求:

{
    "jsonrpc": "2.0",
    "method": "user.update",
    "params": {
        "userid": "12",
        "roleid": "6"
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "userids": [
            "12"
        ]
    },
    "id": 1
}

参考

来源

CUser::update() in ui/include/classes/api/services/CUser.php.