Java 无法从SpEL中找到Spring安全主体
我想通过JPA查询从Java 无法从SpEL中找到Spring安全主体,java,spring,spring-security,spring-data-jpa,Java,Spring,Spring Security,Spring Data Jpa,我想通过JPA查询从crudepository获取RestResource的数据: public interface IContactRepository extends PagingAndSortingRepository<Contact, Long> { @Query("select contact from Contact contact where contact.owner.login = ?#{principal.username}") @RestRes
crudepository
获取RestResource
的数据:
public interface IContactRepository extends PagingAndSortingRepository<Contact, Long> {
@Query("select contact from Contact contact where contact.owner.login = ?#{principal.username}")
@RestResource( path = "my")
List<Contact> findByOwner();
}
但是我需要在界面内部使用它来直接访问
RestResource
我遇到了同样的问题,我通过以下操作解决了它:
提供SecurityEvaluationContextExtension类型的bean
正如他们所说
以下是来自的Java和XML配置:
Java配置
@Bean
public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
return new SecurityEvaluationContextExtension();
}
<bean class="org.springframework.security.data.repository.query.SecurityEvaluationContextExtension"/>
XML配置
@Bean
public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
return new SecurityEvaluationContextExtension();
}
<bean class="org.springframework.security.data.repository.query.SecurityEvaluationContextExtension"/>
希望这有帮助:)我也遇到了同样的问题,我通过以下操作解决了它: 提供SecurityEvaluationContextExtension类型的bean 正如他们所说 以下是来自的Java和XML配置: Java配置
@Bean
public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
return new SecurityEvaluationContextExtension();
}
<bean class="org.springframework.security.data.repository.query.SecurityEvaluationContextExtension"/>
XML配置
@Bean
public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
return new SecurityEvaluationContextExtension();
}
<bean class="org.springframework.security.data.repository.query.SecurityEvaluationContextExtension"/>
希望这有帮助:)请参见此处。你需要一些配置来启用它。看这里。你需要一些配置来启用它。