如何控制JHipster对话框中的实体所有权?
假设我们有一个这种类型的实体配置文件:如何控制JHipster对话框中的实体所有权?,jhipster,Jhipster,假设我们有一个这种类型的实体配置文件: relationship ManyToOne { Profile{user(id) required} to User{profile} } 例如,该配置文件在属性中包含您的bio,只有您可以更新或删除它,但每个人都应该看到它 我已经看到有一种方法可以在EntityResource.java级别检查用户是否是管理员或用户,并让他执行任何CRUD操作,但我想知道是否有方法检查当前用户是否是创建该实体的用户,所以只有实体的所有者和管理员可以更新或删除
relationship ManyToOne {
Profile{user(id) required} to User{profile}
}
例如,该配置文件在属性中包含您的bio,只有您可以更新或删除它,但每个人都应该看到它
我已经看到有一种方法可以在EntityResource.java级别检查用户是否是管理员或用户,并让他执行任何CRUD操作,但我想知道是否有方法检查当前用户是否是创建该实体的用户,所以只有实体的所有者和管理员可以更新或删除他们自己的实体
if (!SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN)) {
return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "Not-authorized", "You need to be logged in to perform this action")).body(null);
}
SecurityUtils具有以下方法:
- 认证
- isCurrentUserInRole
- getCurrentUserLogin
谢谢您尝试过spring security表达式语言吗?您的实体是否使用DTO或服务类?谢谢Gaël。我希望我能看到一个例子。我不知道怎么做。谢谢Jon,我会使用任何更简单的方法(DTO、服务类或最佳实践,随便你怎么说)。