首页 文章

WSO2 API Manager中的数据访问配置

提问于
浏览
0

使用WSO2 API Manager中的范围功能,我能够限制对我的后端API的访问,例如[http://mydomain/context/students(GET](http://mydomain/context/students(GET) - 所有学生的列表),http://mydomain/context/student/S101(GET - 学生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 回答

  • 1

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

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

    请按照文档[1]和[2]的说明,了解如何编写类介体以及如何使用它 .

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

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

相关问题