我正在创建一个用户可以创建游戏的应用程序。我存储在实体 Game 中,他是创建游戏的用户,我的意思是游戏的拥有者。实体 Game 与其他实体有一些关系ONE_TO_ONE( RuleGame )和ONE_TO_MANY( PublicZone 和 PrivateZones )。< / p>
我想要的是只有游戏的拥有者和拥有ROLE_ADMIN和ROLE_STAFF的用户才能编辑游戏及其关系。
另一种说法,想想社交网络,只有我和ADMIN可以编辑我的个人资料,但我无法编辑其他用户的个人资料。
当然,我可以在@Service和每个&#34;更新&#34;中创建自己的逻辑。这些实体的控制器的方法(游戏, PublicZone 和 PrivateZones )调用它并检查这个,但我想知道是否有更好的方法去吧。
我正在阅读有关审计的内容,例如Hibernate Envers,但它适用于类似wiki的软件,添加/更新/删除的日志,因此它不适合我需要的内容。
我使用的是Spring 4.1.6,Spring Data Jpa 1.8.0,Spring Security 4和Hibernate 4.3.8
欢迎任何建议!
答案 0 :(得分:0)
您需要使用spring-data-jpa auditing以及spring security等安全框架。这将允许在创建和修改记录时自动添加用户名,而无需您自己的额外逻辑。