使用SpringBoot REST崩溃的PreAuthorize,PostAuthorize,PreFilter,PostFilter

时间:2015-10-30 13:51:46

标签: spring spring-security

我的存储库看起来像这样:

@RepositoryRestResource(collectionResourceRel = "users", path = "users")
public interface UserRepository extends CrudRepository<User, Long> {
    @Override
    @PreAuthorize("permitAll")
    @PostFilter("filterObject.email == principal.name")
    public Iterable<User> findAll();
}

但是不管我写的是那些前/后注释的条件,我的应用程序在启动时(使用gradle bootRun)在以下非常长的堆栈跟踪中崩溃:http://pastebin.com/raw.php?i=sxJCivPQ

知道可能出现什么问题吗?

1 个答案:

答案 0 :(得分:0)

存在循环依赖,存储库用于身份验证类!我必须创建另一个存储库,几乎与@RepositoryRestResource相同,但删除所有@SomethingRestSomething注释和所有@PrePost注释。我们在身份验证类中使用了这个新的精简存储库。