Skip to content

Latest commit

 

History

History
executable file
·
23 lines (15 loc) · 1.05 KB

access.md

File metadata and controls

executable file
·
23 lines (15 loc) · 1.05 KB

权限控制

实现原理

  1. 对于query(GET开放查询)和action(非开放操作)的每一个节点, 都拥有一个@role属性, 如果访问者未传递, 则需要根据用户类型和表名返回一个默认值;如果已传递, 则需要判断当前用户时候拥有该角色,这点适用于一个应用中具有多种角色用户的场景

参考 todo 中 access 的 Role

  1. 需要在数据库中_access定义表对应操作的可访问角色列表, 符合的则通过, 不符合的则直接返回
  2. 行级数据则需要配置 根据请求角色、用户id、表来返回一个where条件

参考 todo 中 access 的 AccessCondition

  • get 操作只能访问access中定义的表
  • 其他操作需和request中定义的结构一致方可访问

  • access 中定义各操作的角色权限, 角色有: 未登录用户/登录用户(OWNER/ADMIN/ 其他自定义角色)
  • 提供自定义函数 针对不同表不同角色添加 过滤条件

  • access_ext 中定义各操作的in/out字段列表, 限制各操作字段只能是此处的子集