WSO2如何将ESB与Identity Server集成

时间:2013-03-26 09:54:49

标签: wso2 wso2esb

也许我的理解是错误的,请指教。

要求:

(1)用户A,用户B想要访问Web服务SayHello。

(2)只有用户A有权限。

(3)SayHello Web服务只返回一个字符串“hello”

此前:

(1)要调用SayHello,请根据SayHello?wsdl创建一个客户端。 - 成功

(2)通过ESB创建代理服务SayHelloProxyService,将此代理服务托管到SayHello服务,根据SayHelloProxyService?wsdl创建客户端。 --Success

立即

在内部添加Identity Server,仅授予用户A访问权限,如下图所示:  enter image description here

问题

现在,我在想是否还想调用SayHelloProxyService,我应该更改客户端的代码吗?携带一些令牌,如用户名或什么SayHelloProxyService?如果是这样如何编写客户端代码?也许我的理解是完全错误的,但是如果有一个小例子会有很大的帮助,那么有人可以知道吗?

提前谢谢你。

1 个答案:

答案 0 :(得分:2)

我的理解是你设置了错误的权限。 “配置>用户和角色>角色”中的角色权限仅在本地对服务器本身有效,即您的方案中的IS,但不适用于外部服务。

如果您需要IS来授权某些服务,而不是更改客户端的代码,您可能需要创建一个简单的XACML策略,如[1]中所述,并启用WSO2IS作为策略决策点。

[1] http://wso2.org/library/articles/2010/10/using-xacml-fine-grained-authorization-wso2-platform