1. 批量增加/修改实例权限
批量增加/修改授权。
请求方式:POST
请求地址:/bosfoundationservice/{appKey}/prototype/entity-gacl
1.1. 请求参数:
Headers:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
Authorization | string | c4570cb9ca324bc8ba7dd9d1967710ea | 是 | access_token |
PathParas:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
NULL | NULL | NULL | NULL | NULL |
SearchParas:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
transactionCode | string | 3MD2XzN70VkcvbXllg7x7V | 否 | 业务事务编码 |
Body:
application/json:
[
{
"bosclass": " documents",
"key": " doc_001_0",
"flags": "g",
"principal": "roles/123",
"permissions": "r"
},
{
"bosclass": " documents",
"key": " doc_001_0",
"flags": "",
"principal": "users/me",
"permissions": "rwdc"
},
{
"bosclass": " documents",
"key": " doc_003_0",
"flags": "",
"principal": "users/me",
"permissions": "rwdc"
}
]
1.2. 参数说明:
参数名 | 类型 | 示例 | 是否必填 | 参数含义 |
---|---|---|---|---|
NULL | NULL | NULL | NULL | NULL |
1.3. 正确返回:
Http Status Code:200
[
{
"code": "SUCCESS",
"message": "请求处理成功",
"data": "http://xxx.xxx.xxx/bosfoundationservice/h5e4ff8257dc4e86a8042097f67d2718/prototype/entity/folders/xxxx"
}
]
1.4. 状态码:
状态码 | code | message | data | 原因 |
---|---|---|---|---|
200 | GACL_NA | 应用未开启gacl授权模式 | NULL | 当应用未启用gacl数据级权限控制时 |
200 | JSON_FORMAT_WRONG | Json格式错误 | NULL | 当传入Body格式错误时 |
200 | OBJECT_REQUIREDFIELD_EMPTY | XXX属性必填 | NULL | 当必填字段缺失时 |
200 | ENTITY_BOSCLASS_NOTFOUND | 实体类{entity}不存在 | NULL | 当传入bosclass错误时 |
200 | BOSCLASS_PUBLIC_NA | 不适用于公开类{bosclass} | NULL | 当实体类bosclass是公开类时 |
200 | BOSCLASS_PUBLIC_NA | 不适用于公开类{bosclass} | NULL | 当实体类bosclass是公开类时 |
200 | IS_PERMISSION_CLASS | {bosclass}已启用类权限实体对象不存在 | NULL | 当实体类bosclass启用类权限时 |
200 | ENTITY_NOTFOUND | Key为{key}的{bosclass}实体对象不存在 | NULL | 当指定{key}的entity或principal指定的用户或角色不存在时 |
200 | BOSCLASS_NA | 不适用于{entity}类型实例数据 | NULL | 当对relationship类型操作时 |
200 | ENTITYKEY_FORMAT_WRONG | 实体对象{bosclass/key}格式错误 | NULL | 当principal格式错误时 |
200 | ENTITY_CONTROLPERMISSION_REQUIRED | 缺少实体对象{entity/key}的控制权限 | NULL | 当前用户无该实体的c控制权限时 |
200 | ENTITY_PERMISSION_LASTCPERMISSION | 不可删除当前用户对{bosclass/key}的最后一个控制权限 | NULL | 当当前用户对该实体仅有一个c控制权限且需要取消该c权限时 |
200 | ENTITY_NOTFOUND | Key为{key}的{bosclass}实体对象不存在 | NULL | 部分权限增加或更新失败,则返回成功信息及失败数据错误信息 |
1.5. 注意事项:
1、对象类为数据模型中配置的对象类。
2、此接口适用于启用了gacl数据级权限控制的应用。
3、此接口的操作,需先根据accessToken验证用户是否具有授权的权限。
4、根据bosclass、key检查被授权对象是否存在,根据principal检查用户或角色是否存在。
5、如果被授权对象已有此用户或角色的授权,则使用新传入的权限进行替换。但当存在如下任意一种情况时,当前用户或用户所属角色的权限不可替换:
a、当前用户对被授权对象仅有用户的授权,无所属角色的c授权,该用户的授权不允许替换;
b、当前用户仅有一个所属角色对被授权对象有c授权,无其他所属角色的c授权或用户的c授权时,该角色的授权不允许替换。
6、授权时的约束关系参考3.1.1实体权限管理。