22.3. 方法

22.3.1. 添加用户

通过使用对 users 集合的 POST 请求,API 可以把存在的目录服务用户添加到 Red Hat Enterprise Virtualization Manager 数据库中。客户端所提供的新用户表述需要包括一个 roles 列表,以及最少一个分配给用户的初始 role。例如,下面的实例为用户 joe@domain.example.com 分配了两个初始角色:

例 22.2. 从目录服务中添加一个用户,并为用户分配两个角色

POST /api/users HTTP/1.1
Content-Type: application/xml
Accept: application/xml

<user>
    <user_name>joe@domain.example.com</user_name>
    <roles>
        <role>
            <name>RHEVMPowerUser</name>
        </role>
        <role id="00000000-0000-0000-0001-000000000003"/>
    </roles>
</user>
新用户可以使用 Red Hat Enterprise Virtualization Manager 用户 ID 或目录服务的 UPN 来代表。目录服务域中的用户 ID 格式可能和 Red Hat Enterprise Virtualization Manager 所希望获得的格式不同,例如,LDIF [5] ,它的 ID 的字节顺序是相反的,并基于 base-64 编码。因此,为了方便起见,一般使用 UPN 来代表新用户。

注意

用户在被加入到 Red Hat Enterprise Virtualization Manager 数据库前,已经存在于目录服务域中。API 用户可以在创建用户前通过 domains 集合对它们进行查询。
角色可以由名称或 ID 来代表。以上的实例显示了这两种方法。

22.3.2. 为用户添加角色

使用到一个用户的角色子集合的 POSTDELETE 请求可以为用户添加或删除角色。以下实例显示了 API 如何为一个用户添加一个 RHEVMVDIUser 角色。

注意

内建的 user 项用户角色列表只在初始创建时使用,以后的所有为用户分配角色的操作都是通过 roles 子集合进行的。

例 22.3. 为一个用户添加角色

POST /api/users/225f15cd-e891-434d-8262-a66808fcb9b1/roles HTTP/1.1
Content-Type: application/xml
Accept: application/xml

<role>
    <name>RHEVMVDIUser</name>
</role>


[5] RFC 2849 中包括了对 LDAP Data Interchange Format (LDIF)的描述。