3.0 KiB
开放接口权限
针对提供给开发者的开放接口API,PhalApi Pro设计了一套完善的权限控制体系,可在不同维度进行灵活的权限控制。
接口权限规则
从开发者账号类型为起点,开发者账号类型分为个人开发者、企业开发者等多种开发者类型;每种开发者账号类型下可注册多个开发者;而每个开发者可以创建多个应用;每个应用可以调用多个开放接口API。因此,整体的结构如下:
授权项目
授权项目,主要是针对开放接口,对应App.*.*系列接口,如果需要管理其他系列的接口,可以手动添加。
位于App命名空间下的接口,会自动纳入接口权限管理,因此推荐在App下扩展添加新的开放接口。
授权对象
温馨提示:管理员账号下的全部应用,拥有全部接口权限。接口权限,主要针对开发者进行权限分配。
开发者应用维度
授权对象主要是针对开发者的客户端应用,因为使用开放接口的主要对象是程序。每个开发者应用都有一个唯一的app_key,因此通过对app_key维度可进行接口权限的控制。
开发者账号维度
每个开发者应用最多可属于一位开发者,因此也可以通过开发者账号进行接口权限控制。
账号类型维度
最后,可以对开发者的账号类型统一进行角色权限。
因此,接口权限的授权对象可以分为:开发者应用、开发者账号和账号类型三个维度。
授权优先级
根据前面的维度,对于接口权限的优先级,最高到低,依次是:
开发者应用接口权限 -> 开发者账号接口权限 -> 账号类型接口权限 -> 默认开放接口权限
- 最高:开发者应用接口权限,通过app_key匹配规则库
- 开发者账号接口权限,通过账号ID匹配规则库
- 账号类型接口权限,通过账号等级匹配规则库
- 最低:默认开放接口权限,通过
default_app_api_rigths_is_allow配置项指定
按优先级从高到低,依次寻找权限规则,命中即生效,进行短路判断。
再次温馨提示:管理员账号下的全部应用,拥有全部接口权限。接口权限,主要针对开发者进行权限分配。所以,管理员所创建的应用,只适合内部使用。
接口权限规则配置
进入管理后台,可进行各个维度的接口权限配置。
如何取消接口权限判断?
如果需要取消全部接口的权限判断,可以修改default_app_api_rigths_is_allow配置为true,但不推荐。
如果需要取消某个接口的权限判断,可以在PHP代码中配置白名单,此部分将会在技术文档进行说明。查看接口白名单配置文档。

