所以我试图仅使用PreFilter来验证我的端点而没有IF和类似的东西
Guid
我的问题是使PreFilter起作用,或者实际上是将经过身份验证的主体的userId与path变量进行匹配,以便每个用户只能请求自己的书籍。
是的,我知道我可以删除path变量,并且只需在方法内部执行principal.getUserId(),但这意味着如果用户是admin,则需要有一个if。
答案 0 :(得分:0)
好的,经过几次尝试,我终于找到了解决方法。如果有人感兴趣: @PreAuthorize(“ hasRole('ADMIN')或#userId == principal.userId”)
这样,如果您是管理员,则可以获取任何用户的书;如果您是用户,则只能获取自己的书。