私は、しかしPagingAndSortingRepositoryにPostFilterを実装するにはどうすればよいですか?
public class AccessPermissionEvaluator implements PermissionEvaluator {
@Override
public boolean hasPermission(Authentication authentication, Object o, Object o1) {
boolean hasPermission = false;
if (authentication != null) {
User user = (User) authentication.getPrincipal();
if (((PublishableEntity) o).getStatus().equals(AccessStatus.PUBLISHED)) {
hasPermission = true;
}
}
return hasPermission;
}
@Override
public boolean hasPermission(Authentication authentication, Serializable serializable, String s, Object o) {
return false;
}
}
をカスタムPermissionEvaluator
クラスを作成した後
public interface PublishableEntityRepository<T, ID extends Serializable>
extends PagingAndSortingRepository<T, ID> {
@PostFilter("hasPermission(filterObject, 'read')")
Page<T> findAll(Pageable var1);
}
を拡張し、私のカスタムリポジトリクラスを作成しPagingAndSortingRepository
インタフェース
に@PostFilter
注釈を実装する方法を探していますIllegalArgumentException
がスローされます。
RepositoryRestExceptionHandler - 0含むUNKNOWNインスタンスのフィルタ対象がコレクションまたは配列型でなければなりませんが、されたページ0
私は問題のfilterObjectがPage
クラスなので、どのように私はページに対してフィルタリングないことを知っています内容ですか?