# 管理权限、访问控制
Authing 基于 PBAC(Policy Based Access Control,基于策略的访问控制)构建权限模型, 可以和 RBAC (Role Based Access Control,基于角色的访问控制)结合,实现非常灵活、精细化的权限控制。 此模块将此模型抽象成了两个方法: allow, isAllowed。
# 允许某个用户对某个资源进行某个操作
AclManagementClient().allow(userId, action, resource)
允许某个用户对某个资源进行某个操作
# 参数
userId
<string> 用户 IDaction
<string> 操作名称,推荐使用 <resourceType>:<actionName> 的格式,如books:edit
,books:list
resource
<string> 资源名称, 必须为 <resourceType>:<resourceId> 格式或者为 *, 如*
,books:123
,books:*
# 示例
# 允许某个用户操作某个角色
management_client.acl.allow(
resource='books:123',
action='books:edit',
userId='USERID'
)
# 允许某个角色操作某个角色
management_client.acl.allow(
resource='books:*',
action='books:edit',
role='ROLE'
)
# 判断某个用户是否对某个资源有某个操作权限
AclManagementClient().is_allowed(userId, action, resource)
判断某个用户是否对某个资源有某个操作权限
# 参数
userId
<string> 用户IDaction
<string> 操作名称,推荐使用 <resourceType>:<actionName> 的格式,如books:edit
,books:list
resource
<string> 资源名称, 必须为 <resourceType>:<resourceId> 格式或者为 *, 如*
,books:123
,books:*
# 示例
is_allowed = management_client.acl.is_allowed(
userId='USERID',
resource='books:*',
action='books:edit',
)
← 管理策略 管理自定义字段元数据 →