Я хотел использовать поддержку расширения безопасности Spring Data JPA для выполнения проверки полномочий пользователя и, соответственно, получения некоторых значений. Я пытаюсь сделать это указано иное hereВесенние данные JPA с оценкой безопасностиContextExtensionSupport не работает
Ниже мой код сниппета
@RepositoryRestResource(collectionResourceRel = "ProductStatus", path = "ProductStatus")
public interface IProductStatusRepository extends CrudRepository<ProductStatusEntity, String> {
@Query("SELECT p FROM ProductStatusEntity " +
"?#{hasAuthority('ITManager') ? ' ' : ' WHERE ProductStatusCode NOT IN (\'VAL1\',\'VAL2\',\'VAL3\')'}")
List<ProductStatusEntity> findStatusesByAuthority();
}
Я сделал объявить класс SecurityEvaluationContextExtension и securityExtension боб, просто копия вставки кода. Но все же, вышеуказанный фрагмент кода не работает.
Я всегда получаю
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: ?
Я попробовал несколько вариантов в игре вокруг с #,: #, hasRole, hasAuthority и т.д. Ничто не похоже на работу.
Любые мысли по этому поводу?