首页 文章

WSO2 ESB XACML授权rest / soap web services客户端java

提问于
浏览
0

我正在按照本教程http://wso2.com/library/articles/2010/10/using-xacml-fine-grained-authorization-wso2-platform/来保护几个Web服务,使用wso2 ESB IS . 我只想要一个调用Entitlement Mediator的代理来检查用户是否具有访问 endpoints 的权限,但是使用本教程中提供的java客户端我遇到了一些问题 . 我使用不同的http方法(get,post)和不同的内容类型(application / json)来处理休息Web服务 .

有一个通用的解决方案来调用具有ESB所需属性的通用 endpoints 吗?

谢谢

1 回答

  • 0

    让我简要解释一下授权调解器的作用,它从请求消息中提取一些值并创建XACML请求并将其发送给WSO2IS进行决策 .

    要创建XACML请求,授权介体会查找以下内容

    用户 - >默认情况下,从名为“username”的消息上下文属性值中检索用户名 . 当用户使用UT / Basic身份验证对代理服务进行身份验证时,此值将填充到消息上下文....

    资源 - >默认情况下,资源是 endpoints 服务名称 . 这是从SOAP消息中的“To”标头中检索的 .

    操作 - >默认情况下,操作为“已读”如果这是REST请求,则将采取GET / POST作为操作 .

    已经描述了REST服务的相同用例here

    但您可以通过实现新的回调类来更改默认行为 . 从回调类的默认实现中检索以上值 . 如果要从用户json请求中检索某些用户名值,您甚至可以通过扩展新实现来实现 . 基本上你想写一些java代码并创建一个jar文件并将其放入repository / components / lib目录...请从here找到"UTEntitlementCallbackHandler.java"的默认实现 . 还有其他一些实现,请查看代码,它很简单,你可以理解它们 .

相关问题