我目前正在开发的系统需要一些基于角色的安全性,这在 Java EE 堆栈中得到了很好的满足。该系统旨在成为业务领域专家在其上编写代码的框架。
但是,对数据也有要求security
。也就是说,最终用户可以看到哪些信息。
这实际上意味着减少对数据库中行(甚至可能是列)的可见性。
我们使用 Hibernate 来实现持久性。但是,我们使用自己的注释,以免将我们的持久性选择暴露给业务领域专家。
对于基于行的安全性,这意味着我们可以添加一个注释,例如@Secured
在实体级别,这会导致在基础表中添加一个额外的列来限制我们的选择?
对于基于列的安全性,我们可能不得不@Secured
协助查询生成,或者可能使用方面来过滤返回的信息?
我很想知道这也会如何影响hibernate的缓存机制?
我相信很多其他人都会遇到同样的问题,我想知道你是如何解决这个问题的?
非常感激...