业务权限配置规范
在创建FUNCTION类型的权限资源时,只能选择已有的业务权限,而不是根据名称自动创建业务权限。
AstroZero的业务权限,仅能在定义接口时由开发者在AstroZero管理中心(用户管理 > 业务权限凭证)创建。权限BO仅关联已有业务权限,不包含自动创建、删除平台业务权限的逻辑。
配置规范
业务权限配置的粒度,应符合实际业务使用场景,使实际业务中既能灵活配置权限,又不产生越权的问题。
如果一个权限中需要调用多个接口,其权限资源应配置上多个接口对应的业务权限(即创建多个FUNCTION类型的权限资源),然后分别给这些接口配置业务权限。
通常一个接口对应一个业务权限,而不是一个业务权限(一把钥匙)可以调通(打开)多个自定义接口API(N个锁),即尽量不要多个接口配置同一个业务权限(特殊场景除外,例如一个接口既用于普通业务又作为机机接口),要按实际业务场景配置。具体配置原则如下:
- 区分使用者权限
例如,SystemManagement_Common分配给匿名用户,SystemManagement_Operator_Update分配给系统管理员。
- 区分读写权限
例如,SystemManagement_Operator_QueryAll只读,SystemManagement_Operator_Create可写。
- 区分单个/批量权限
例如,SystemManagement_Operator_Delete单个删除,SystemManagement_Operator_BatchDelete批量删除。
- 区分同一操作结果不同权限
例如,SystemManagement_Operator_QueryAll查询全部信息,SystemManagement_Operator_QueryBasic查询基本信息。
- 区分可操作对象不同权限
例如,SystemManagement_Operator_QueryBasic查询返回多个结果,SystemManagement_Operator_QueryCurrent查询仅返回当前对象结果。