代码之家  ›  专栏  ›  技术社区  ›  Sreehari S

WSO2 API Manager中的数据访问配置

  •  0
  • Sreehari S  · 技术社区  · 8 年前

    使用WSO2 API Manager中的作用域功能,我可以限制对后端API的访问,如 http://mydomain/context/students(GET -所有学生名单), http://mydomain/context/student/S101 (获取-学生S101的详细信息)或 http://mydomain/context/student/create (POST)仅适用于分配了特定角色的用户。我能够实现如此多的细粒度控制。

    但我想实现更详细的过滤:只允许用户U101查看学生S101到S110的详细信息。所以 http://mydomain/context/student/S111 应该为他屏蔽 http://mydomain/context/students 应仅返回S101至S110的详细信息。我可以在WSO2 API管理器中实现此过滤吗? (我有一个RDBMS表(后端的一部分,不在WSO2中),其中包含用户到学生列表的映射,允许用户访问学生列表的详细信息。)

    1 回复  |  直到 8 年前
        1
  •  1
  •   menaka_    8 年前

    在API Manager中,对响应内容的任何修改都是通过中介脚本完成的。在您的场景中,角色-内容映射应该存储在API Manager中,以便过滤内容。为此,可以使用类中介来过滤响应内容。

    在中介中,您必须获得角色-内容映射。您可以在类本身中定义它,也可以从数据库中检索它。

    请遵循文档[1]和[2]了解如何编写类中介器以及如何使用它。

    [1] https://docs.wso2.com/display/EI600/Class+Mediator

    [2] https://docs.wso2.com/display/AM210/Adding+Mediation+Extensions

    推荐文章