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