【问题标题】:Spring Data REST - How to handle object ownershipSpring Data REST - 如何处理对象所有权
【发布时间】:2016-03-12 06:03:03
【问题描述】:

如何在 Spring Data REST 应用程序的 REST 接口中处理所有权?

使用典型的经理管理员工场景,我有一个业务规则,即如果员工由访问数据的经理管理,经理只能查看员工的信息:

Manager | Employee
--------+---------
1       | A
1       | B
2       | C

GET /employees/C 请求应在经理 2 访问时返回员工记录,但应为经理 1 返回 400 Bad Request(或类似内容)。如何使用 Spring Data REST/Spring Security 完成此操作?

【问题讨论】:

  • Web 服务的返回类型是什么?它是一个员工对象列表还是只是一个员工?
  • 我相信是findById 方法,所以只有一个Employee
  • aah,我误读了你的问题。是的,在 Spring Security 中,通过 ACL - 访问控制列表是可能的。
  • 任何指向 ACL 良好资源的链接都将不胜感激
  • 是的,我正在寻找一个你可以关注的有用的。你在 Spring Security 工作过吗?恕我直言,ACL 有点难以掌握。

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


【解决方案1】:

理论上,这可以通过 Spring Security ACL 实现。来自 github 的示例项目是 here

您也可以通过不同的方式实现这一点,根据这篇文章 - here

说了这么多,还是挺复杂的。 Spring Security 和 ACL 没有很好的文档记录。如果您需要更多指向此答案的链接,请告诉我。

【讨论】:

    猜你喜欢
    • 2021-09-06
    • 1970-01-01
    • 2013-09-21
    • 2018-08-22
    • 2014-02-04
    • 1970-01-01
    • 2017-12-29
    • 2018-02-03
    • 2014-08-16
    相关资源
    最近更新 更多