是否有任何机制可以从代码中从 WSO2 Esb 中的用户存储中获取 userProfile 信息?
Is there any mechanism to obtain userProfile info from user storage in WSO2 Esb from code?
敬礼!例如:我有一个名为“tesUser”的用户,其中有一个特定字段“email”,我想在我的 .
中将其作为 <属性>
enter image description here
您可以基于数据源创建数据服务:WSO2_CARBON_DB。使用架构 PUBLIC 和表 UM_USER, UM_USER_ATTRIBUTE.在 UM_USER 中,您有 um_id 和用户名,在 UM_USER_ATTRIBUTE 中,您通过 um_id 收到电子邮件。现在您可以编写自己的查询来连接该数据并公开为服务,并在内部使用。
另一种方法是使用现有的内部服务https://localhost:9443/services/UserProfileMgtService?wsdl
。要公开该 wsdl,您需要在 carbon.xml 中设置 <HideAdminServiceWSDLs>false</HideAdminServiceWSDLs>
。 getUserProfiles 操作会给你想要的东西。
我认为最后一种方法是编写自己的 Class Mediator,它将使用 JDBCUserStoreManager 来检索该信息。
None 这些解决方案很简单......但我已经按照最简单的顺序列出了它们,至少在我看来是这样。
敬礼!例如:我有一个名为“tesUser”的用户,其中有一个特定字段“email”,我想在我的
enter image description here
您可以基于数据源创建数据服务:WSO2_CARBON_DB。使用架构 PUBLIC 和表 UM_USER, UM_USER_ATTRIBUTE.在 UM_USER 中,您有 um_id 和用户名,在 UM_USER_ATTRIBUTE 中,您通过 um_id 收到电子邮件。现在您可以编写自己的查询来连接该数据并公开为服务,并在内部使用。
另一种方法是使用现有的内部服务https://localhost:9443/services/UserProfileMgtService?wsdl
。要公开该 wsdl,您需要在 carbon.xml 中设置 <HideAdminServiceWSDLs>false</HideAdminServiceWSDLs>
。 getUserProfiles 操作会给你想要的东西。
我认为最后一种方法是编写自己的 Class Mediator,它将使用 JDBCUserStoreManager 来检索该信息。
None 这些解决方案很简单......但我已经按照最简单的顺序列出了它们,至少在我看来是这样。