@PreAuthorize对JpaRepository

 如果不曾相识_不曾相知_不曾相恋 发布于 2023-01-29 12:35

我希望为我的REST服务实现基于角色的安全性.我正在使用spring-data-rest并已配置JpaRepository如下:

@Repository
@RestResource(path = "changesets", rel = "changesets")
public interface ChangesetRepository extends JpaRepository { }

我想@PreAuthorize在继承的Page findAll(Pageable pageable)方法上附加一个注释,以便GET需要一个特定的角色.

有没有办法做到这一点?我需要提供自定义实现还是我遗漏了一些明显的东西?

1 个回答
  • 您可以为所有存储库添加自己的父类(请参阅文档中的操作方法).然后只需添加所有必要的注释,您的安全限制将适用于所有子bean.

    从架构的角度来看,大多数情况下,存储库不是应用安全限制的正确位置.您的服务层更合适(因为您的安全限制取决于您的业务操作,而不取决于您的数据加载逻辑).请考虑以下示例:您希望在许多服务中重用相同的存储库,并且安全规则不同(对于这些服务).该怎么办?

    2023-01-29 12:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有