Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WSO2如何将ESB与Identity Server集成_Wso2_Wso2esb - Fatal编程技术网

WSO2如何将ESB与Identity Server集成

WSO2如何将ESB与Identity Server集成,wso2,wso2esb,Wso2,Wso2esb,也许我的理解是错误的,请指教 要求: (1) 用户A和用户B想要访问web服务,请说“你好” (2) 只有用户A有权限 (3) SayHello web服务只返回字符串“hello” 之前: (1) 要调用SayHello,请根据SayHello?wsdl创建一个客户端。-成功 (2) 通过ESB创建代理服务SayHelloProxyService,将该代理服务托管到SayHello服务,根据SayHelloProxyService?wsdl创建客户端--成功 现在: 在内部添加Identity

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

要求:

(1) 用户A和用户B想要访问web服务,请说“你好”

(2) 只有用户A有权限

(3) SayHello web服务只返回字符串“hello”

之前:

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

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

现在:

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

问题

现在,我在想,如果我仍然想调用SayHelloProxyService,我是否应该更改客户端的代码?携带诸如用户名或what to SayHelloProxyService之类的代币?如果是,如何编写客户端代码?也许我的理解是完全错误的,但如果有一个小例子,关于将是一个很大的帮助,有人知道这一点吗


提前谢谢。

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

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


[1]

是的,我遵循了这个链接,直到现在,我成功地根据服务器设置了is和ESB,但是对于java客户端,我看到了选项。setUserName(“admin”);选项。设置密码(“管理员”);因此,如果我可以访问物业服务(对吗?),那么其他语言呢?c#、php等。它们没有“选项”库,因此对于它们来说如何调用服务?一旦找到服务的WSDL url,就可以生成中所述的Java存根类,并在客户端中使用它们来使用web服务。对于任何其他语言,您应该找到一种类似的方法从WSDL服务描述生成存根,这取决于您使用的语言和工具。虽然您可以在internet上找到许多基于Java的WSO2教程、文档和示例,但对于其他语言,恐怕您只能依靠自己。谢谢您的回复,我想您误解了我的目的,在本教程中,我设置了一个代理Web服务,在调用之前需要进行身份验证,我关心的是身份验证,如何做认证,似乎我需要一些用户名和密码的东西,仍然没有一个明确的观点在这里