Вы не можете @Autowire
внутри SecurityExpressionRoot
.
Однако вы можете вручную указать эту зависимость FlatRepository
.
Когда вы настраиваете свои объекты безопасности внутри класса @Configuration
, вы можете @Autowire
любой экземпляр, который вам нужен.
Просто освободите место для этой новой зависимости в CustomMethodSecurityExpressionRoot
конструкторе
class CustomMethodSecurityExpressionRoot extends SecurityExpressionRoot
implements MethodSecurityExpressionOperations {
private final FlatRepository flatRepository;
CustomMethodSecurityExpressionRoot(
final Authentication authentication,
final FlatRepository flatRepository) {
super(authentication);
this.flatRepository = flatRepository;
}
...
}
И вручную ввести его в точке создания
final SecurityExpressionRoot root = new CustomMethodSecurityExpressionRoot(authentication, flatRepository);