我想在我的项目中实现对象级权限。更具体地说,会有一个用户,一个学校和一个学生班。每个学生将属于一所学校。系统的每个用户也将属于一所学校。因此,系统的每个用户只能访问属于他学校的学生。没有弹簧安全性的弹簧对象级权限ACL
我读过很多地方,这可以在弹簧安全ACL的帮助下完成。这需要在我的数据库中创建一些ACL_表(如果我没有错,则为4),并且对每个对象都有特定的权限!所以我会在ACL_ENTRY中拥有许多行作为许多对象!
这是对我的应用程序的矫枉过正,因为对象已经知道谁有和没有访问它 - 为什么我还需要一个额外的acl_entry?我想要的是检查要更新的对象是否属于特定用户,并返回允许或不允许。选择同样如此 - 只返回属于特定用户的对象。
从我能理解,这在我的数据访问层做 - 如果我去做了其他地方我有疑问的问题(因为我需要检查所有对象逐一看看他们属于特定用户)。对于我的数据访问,我使用了spring-data以及扩展JpaRepository的接口。我可以添加我自己的保存/选择方法吗?我如何从这些方法获取用户对象?有没有人做过类似的事情来帮助我开始?
看上去不错,但选择时,如何过滤我的结果吗?另外,如何在AOP方法中找到Student对象*?我对AOP不是很熟悉:( – Serafeim
请看我的更新回答 –
数据访问过滤如何? – Serafeim