# 权限控制 ## 实现原理 1. 对于query(GET开放查询)和action(非开放操作)的每一个节点, 都拥有一个@role属性, 如果访问者未传递, 则需要根据用户类型和表名返回一个默认值;如果已传递, 则需要判断当前用户时候拥有该角色,这点适用于一个应用中具有多种角色用户的场景 > 参考 todo 中 access 的 Role 2. 需要在数据库中_access定义表对应操作的可访问角色列表, 符合的则通过, 不符合的则直接返回 3. 行级数据则需要配置 根据请求角色、用户id、表来返回一个where条件 > 参考 todo 中 access 的 AccessCondition ## 表 - get 操作只能访问access中定义的表 - 其他操作需和request中定义的结构一致方可访问 ## 行 - access 中定义各操作的角色权限, 角色有: 未登录用户/登录用户(OWNER/ADMIN/ 其他自定义角色) - 提供自定义函数 针对不同表不同角色添加 过滤条件 ## 列 - access_ext 中定义各操作的in/out字段列表, 限制各操作字段只能是此处的子集