Eth*_*son 3 spring spring-security spring-data-jpa spring-data-rest
我希望为我的REST服务实现基于角色的安全性.我正在使用spring-data-rest并已配置JpaRepository如下:
@Repository
@RestResource(path = "changesets", rel = "changesets")
public interface ChangesetRepository extends JpaRepository<Changeset, Long> { }
Run Code Online (Sandbox Code Playgroud)
我想@PreAuthorize在继承的Page<T> findAll(Pageable pageable)方法上附加一个注释,以便GET需要一个特定的角色.
有没有办法做到这一点?我需要提供自定义实现还是我遗漏了一些明显的东西?
如果您使用的是 Spring Data REST,那么您的想法是合理的。在您的接口类中,只需重新定义相同的方法并@PreAuthorize为其添加注释。代码应该是这样的,虽然我没测试过
@Repository
@RestResource(path = "changesets", rel = "changesets")
public interface ChangesetRepository extends JpaRepository<Changeset, Long> {
@PreAuthorize("#pk == authentication.id")
Page<Changeset> findAll(Pageable pageable);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1555 次 |
| 最近记录: |