如何控制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
我想如果我可以使用Profile–User关系获取用户,我可以将其与Profile.User.Login进行比较,但我只有Profile.User.Id,我看不到如何获取Profile.User.Login


谢谢

您尝试过spring security表达式语言吗?您的实体是否使用DTO或服务类?谢谢Gaël。我希望我能看到一个例子。我不知道怎么做。谢谢Jon,我会使用任何更简单的方法(DTO、服务类或最佳实践,随便你怎么说)。