客户端API列表

1. 给角色增加一个api权限

说明项 描述
名字 addPolicy
作用 给某个角色增加一个API接口的权限
举例 给 系统管理员 增加 POST 请求到URL为 /api/v1/mock/status 的权限
使用 client.addPolicy("系统管理员", "/api/v1/mock/status", "POST")
返回说明 true: 操作成功
false:操作失败

2. 批量增加p域

说明项 描述
名字 addPolicies
作用 批量给多个不同角色赋予不同权限
举例 1.给系统管理员1增加 GET、POST、PUT、PATCH、DELETE 请求到URL为`api/v1/users`的权限;
2.给系统管理员2增加 GET 请求到 URL 为 api/v1/role 为前缀的权限;
3.给系统管理员3增加 POST 请求到URL 为 api/v1/school/:schoolid/teacher/:teacherid 的 RESTful 的权限
使用 见下面的代码块
返回说明 true: 操作成功
false:操作失败
client.addPolicies([
                [
                    "系统管理员1",
                    "api/v1/users",
                    "(GET)|(POST)|(PUT)|(PATCH)|(DELETE)"
                ],
                [
                    "系统管理员2",
                    "api/v1/role/*",
                    "GET"
                ],
                [
                    "系统管理员3",
                    "api/v1/school/:schoolid/teacher/:teacherid",
                    "POST"
                ]
            ])

3. 给用户赋予某个角色

说明项 描述
名字 addRoleForUser
作用 给某个用户赋予某个角色(某个角色里面增加某个用户)
举例 zhangsan这个用户赋予为管理员这个角色
使用 client.addRoleForUser("zhangsan", "管理员")
返回说明 true: 操作成功
false:操作失败

4. 获取到用户拥有的权限

说明项 描述
名字 getImplicitPermissionsForUser
作用 获取某个用户拥有的所有角色的所有权限列表
举例 获取hyx这个用户所有API访问权限(包括提供API权限的角色)
使用 client.getImplicitPermissionsForUser("hyx")
返回 见下面代码块所示
[
    [
        "机构管理员",
        "/api/v1/check",
        "POST"
    ],
    [
        "系统管理员1",
        "api/v1/users",
        "(GET)|(POST)|(PUT)|(PATCH)|(DELETE)"
    ],
    [
        "系统管理员1",
        "/api/v1/mock/status",
        "DELETE"
    ]
]

5. 获取角色拥有的权限

说明项 描述
名字 getFilteredNamedPolicy
作用 获取某个角色的所有权限列表
举例 获取系统管理员1这个角色所有API访问权限
使用 client.getFilteredNamedPolicy("系统管理员1")
返回 见下面代码块所示
[
    [
        "系统管理员1",
        "api/v1/users",
        "(GET)|(POST)|(PUT)|(PATCH)|(DELETE)"
    ],
    [
        "系统管理员1",
        "/api/v1/mock/status",
        "DELETE"
    ]
]

6. 获取用户拥有的角色

说明项 描述
名字 getImplicitRolesForUser / getRolesForUser
作用 获取某个用户所拥有的角色列表
举例 获取hyx这个用户拥有的角色列表
使用 client.getImplicitRolesForUser("hyx") 或者
client.getRolesForUser("hyx")
返回 见下面代码块所示
[
    "机构管理员",
    "系统管理员1"
]

7. 获取角色拥有的用户

说明项 描述
名字 getUsersForRole
作用 获取某个角色所拥有的用户列表
举例 获取机构管理员这个角色拥有的用户列表
使用 client.getUsersForRole("机构管理员")
返回 见下面代码块所示
["hyx","ypj"]

8. 获取所有的实体(角色)

说明项 描述
名字 getAllSubjects
作用 获取系统中所有的角色
举例 获取系统中的角色列表
使用 client.getAllSubjects()
返回 见下面代码块所示
[
    "机构管理员",
    "系统管理员1",
    "机构管理员2",
    "机构管理员3"
]

9. 获取所有的资源(API)列表

说明项 描述
名字 getAllObjects
作用 获取系统中所有的API
举例 获取系统中的API列表
使用 client.getAllObjects()
返回 见下面代码块所示
[
    "/api/v1/check",
    "api/v1/users",
    "api/v1/role/*",
    "api/v1/school/:schoolid/teacher/:teacherid",
    "/api/v1/mock/status"
]

10. 获取所有的行为(方法method)

说明项 描述
名字 getAllActions
作用 获取系统中所有的 method
举例 获取系统中的 method 列表
使用 client.getAllActions()
返回 见下面代码块所示
[
    "POST",
    "(GET)|(POST)|(PUT)|(PATCH)|(DELETE)",
    "GET",
    "DELETE"
]

11. 获取所有绑定着用户的角色

说明项 描述
名字 getAllRoles
作用 获取系统中所有存在用户的角色列表;
注意它与 getAllSubjects 不一样的地方是:getAllRoles 只会查询到存在用户的角色列表
举例 查询存在用户的角色列表
使用 client.getAllRoles()
返回 见下面代码块所示
[
    "机构管理员",
    "系统管理员1"
]

12. 获取所有的策略列表

说明项 描述
名字 getPolicy
作用 获取系统中所有角色的所有API权限
举例 查询系统中存在所有角色的所有API权限
使用 client.getPolicy()
返回 见下面代码块所示
[
    [
        "机构管理员",
        "/api/v1/check",
        "POST"
    ],
    [
        "系统管理员1",
        "api/v1/users",
        "(GET)|(POST)|(PUT)|(PATCH)|(DELETE)"
    ],
    [
        "机构管理员2",
        "api/v1/role/*",
        "GET"
    ],
    [
        "机构管理员3",
        "api/v1/school/:schoolid/teacher/:teacherid",
        "POST"
    ],
    [
        "系统管理员1",
        "/api/v1/mock/status",
        "DELETE"
    ]
]

13. 查询用户分配给了那些角色

说明项 描述
名字 getFilteredNamedGroupingPolicy
作用 获取某个用户分配存在的角色列表
与 getImplicitRolesForUser / getRolesForUser 达到的效果一样,但注意其返回格式有区别
举例 查询某个用户分配存在那些角色
使用 client.getFilteredNamedGroupingPolicy('hyx')
返回 见下面代码块所示
[
    [
        "hyx",
        "机构管理员"
    ],
    [
        "hyx",
        "系统管理员1"
    ]
]

14. 批量移除角色权限

说明项 描述
名字 removeNamedPolicies
作用 批量移除多个角色的多个权限
注意:只有所有权限操作成功才会成功,否则存在一个操作失败则整体失败
举例 移除系统管理员1发送 DELETE 请求到 /api/v1/mock/status 权限
移除机构管理员2发送 GET 请求到 api/v1/role/* 权限
使用 见下面代码块所示
返回说明 true: 操作成功
false:操作失败
client.removeNamedPolicies([
      ['系统管理员1', '/api/v1/mock/status', 'DELETE'],
      ['机构管理员2', 'api/v1/role/*', 'GET']
])

15. 移除某个用户拥有的某个角色

说明项 描述
名字 deleteRoleForUser
作用 移除某个用户拥有的某个角色
是 addRoleForUser 的逆向操作
举例 移除hyx这个用户的系统管理员1身份
使用 client.deleteRoleForUser("hyx", '系统管理员1')
返回说明 true: 操作成功
false:操作失败