Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从SpEL中找到Spring安全主体_Java_Spring_Spring Security_Spring Data Jpa - Fatal编程技术网

Java 无法从SpEL中找到Spring安全主体

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

我想通过JPA查询从
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"/>


希望这有帮助:)

请参见此处。你需要一些配置来启用它。看这里。你需要一些配置来启用它。