【发布时间】:2020-10-05 18:02:42
【问题描述】:
我正在开发一个应用程序,我需要在其中开发基于角色的访问控制。 我试过寻找其他答案,但这些提供了一些不同的解决方案。根据我们应用程序中的模块,角色是动态的,但权限是静态的。
这是我的场景。
我有员工和医生,员工与医生相连。
所以权限是"View Physician", "Edit Physician", "View Appointment", "Edit Appointment"等
员工也可以是全局用户,也可以是本地用户。所以假设一个员工是一个全局用户,他对每个医生都有权限。 如果工作人员是本地用户,则他对特定医师具有权限。
现在当员工进入预约列表时,api应该根据他的权限返回数据,他应该只能看到那些授予他“查看预约”权限的医生的预约列表
使用hasRole和hasAuthority,我可以限制完整的API,但我需要根据权限从数据库中获取数据。
在 JPA 查询中为每个 db 命中硬编码权限会太多。
因此,我正在为此寻找有关架构或设计模式的一些建议和帮助。
【问题讨论】:
标签: java spring spring-security authorization system-design