Hibernate:权限检查更改实体的字段

时间:2014-02-10 12:49:25

标签: java hibernate aspectj

我有类似Hibernate实体的东西:

@Entity
@Table(name = "my_ent")
public class MyEntity {
  private field String one;
  private field String two;
  private field String three;
  // and so on...
}

我有几个用户角色,每个角色对MyEntity都有不同的权限。例如,admin有权修改onetwo字段,custom_user有权修改threetwo字段等。

问题: 如果用户只修改了他有权修改的字段,我应该检查我的请求处理程序。我不知道这样做的正确方法。

我想两个可能的逃脱:

  1. 两个在每个字段上编写AspectJ注释,枚举有权修改字段的角色。但它似乎非常丑陋和复杂(因为我会用AspectJ注释来压缩我的代码)。
  2. 获取实体的修改字段列表。它看起来很有吸引力,但我怎么能实现呢?例如,我可以编写一些拦截器,将所有修改过的实体的文件名放入列表中。
  3. 问题: 如何在更改实体文件时编写Hibernate实体权限检查?

0 个答案:

没有答案