WSO2中已发布API的基于角色访问控制配置步骤问询
在WSO2 API Manager中实现指定API的角色基访问控制
可以实现,以下是具体操作步骤:
1. 确认或配置用户与角色
- 登录WSO2 APIM管理控制台(默认地址:https://localhost:9443/carbon)
- 若未创建
abc_manager用户:进入用户和角色管理 > 添加用户,创建该用户并设置密码 - 若未创建
Manager角色:进入用户和角色管理 > 添加角色,创建Manager角色;进入abc_manager用户的详情页,在「角色」选项卡中将该用户关联到Manager角色
2. 为目标API启用OAuth2密码授权
- 登录WSO2 APIM发布者控制台(默认地址:https://localhost:9443/publisher)
- 找到已发布的目标API(地址为
https:/localhost:8243/{abc}/{xyz}),进入编辑页面 - 切换到API安全选项卡,启用
OAuth2授权类型,并勾选密码授权选项 - 保存配置后重新发布API
3. 配置角色级访问控制策略
- 在API编辑页面切换到订阅控制选项卡
- 找到「角色级权限」模块,点击添加角色
- 选择
Manager角色,赋予其API调用权限 - 移除其他已添加角色的API调用权限(如果存在),确保仅
Manager角色拥有访问权限 - 保存配置并重新发布API
4. 验证访问控制效果
- 获取访问令牌:发送POST请求到
https://localhost:8243/token,携带以下参数:grant_type: password username: abc_manager password: [用户设置的密码] client_id: [API对应的OAuth客户端ID,可在发布者控制台「API安全」选项卡查看] client_secret: [OAuth客户端密钥] - 调用目标API:在请求头中添加
Authorization: Bearer [获取到的访问令牌],发送请求到https:/localhost:8243/{abc}/{xyz} - 验证场景:
- 使用
abc_manager的令牌可正常访问API - 使用非
Manager角色的用户令牌、无效令牌或无令牌访问时,会返回403 Forbidden错误
- 使用
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

