我想将spring安全性放在数据库对象级别上,我知道spring为此提供了解决方案,我可以创建四个表,然后我也必须将我的数据映射到这些表。随着表大小的增长,这是一个额外的开销根据实际数据。
java中是否还有其他解决方案或框架?
基本上我想在每个数据库查询上加上某些过滤器,比如
如果我有以下角色:
管理
教师
学生
现在,如果我要为用户提取主题,那么我必须遵守以下限制:
管理员:没有过滤器
老师:他教的科目学生:他读过的科目
这些过滤器应该应用于在主题表中触发的每个查询。
答案 0 :(得分:1)
Spring安全ACL完全符合您的要求。它不是最简单的部分,但它确实非常强大。配置完成后,只需添加注释即可在方法级别(通常位于服务层,即UI和数据库之间)添加安全性。
我的建议是:
您还可以在http://krams915.blogspot.fr/2011/01/spring-security-3-full-acl-tutorial.html找到教程,但我从未使用过它。