使用Spring Data REST,我有一个多对多的关系:

  • 具有一组任务的用户实体类:

@ManyToMany(mappedBy = "users",fetch = FetchType.EAGER)
private Set <TaskRecord>任务;

  • 任务实体类一组用户:

@ManyToMany(cascade = {CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(name = "task_user")
私人设置<用户>用户;

  • 连接两者的表(task_user)(通过两列,task_id和user_id)

我想限制操作,使得用户只能在用户是其所有者的情况下访问任务(即,task_user中存在具有该用户id的任务id的条目) .

我目前通过 @HandleBeforeCreate@HandleBeforeSave 事件处理程序实现POST和PUT . 有没有办法使用 @PreAuthorize 或其他东西为任何和所有操作实现此目的?