如何在没有定义自定义方法的情况下使用spring acl和spring数据

时间:2016-11-06 21:45:45

标签: spring-security acl spring-data-rest

我们假设我有以下资源库

@RepositoryRestResource(path = "book")
public interface BookRepository extends CrudRepository<Book, Long> {
}

Spring数据休息将从他自己发布一些端点。 问题是我可以使用Spring安全权限评估(例如: hasPermission WRITE )来包装POST,PUT / book端点,而无需定义保存方法

1 个答案:

答案 0 :(得分:1)

您可以在Spring Security配置中的HTTP级别应用安全性:

@Override
public void configure(HttpSecurity http) throws Exception {

    //other config

    http.authorizeRequests().antMatchers(HttpMethod.POST, 
           "/book").hasAuthority("MY_PERMISSION");
    http.authorizeRequests().antMatchers(HttpMethod.PUT, 
           "/book").hasAuthority("MY_PERMISSION");
}