我使用G-Reg跟踪了this guide在WSO2产品之间共享注册表。但问题是用户管理表不是共享的。
例如,我创建了一个新用户" test"在G-Reg中,但它在WSO2 ESB产品中无效(只有本地用户" admin"才有可能)。
那么可以共享存储在G-Reg中的用户吗?或者它们存储在本地H2数据库中?
答案 0 :(得分:2)
那么可以共享存储在G-Red中的用户吗?或者他们存储 在本地H2数据库中?
是的,您可以在所有WSO2产品之间共享用户。默认情况下,使用H2随附所有产品。
如果您要在多个产品中共享用户,您需要使用mysql,postgresql等生产就绪数据库。
创建名为userdb
在repository/conf/datasources/master-datasources.xml
<datasource>
<name>WSO2_CARBON_USER</name>
<description>The datasource used for registry and user manager</description>
<jndiConfig>
<name>jdbc/WSO2CarbonDB_User</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql://localhost:3306/userdb</url>
<username>wso2carbon</username>
<password>wso2carbon</password>
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
更改repository/conf/user-mgt.xml
文件中的数据源JNDI名称,如下面的G-REG和ESB
<Property name="dataSource">jdbc/WSO2CarbonDB_User</Property>
使用-Dset up选项启动G-REG或ESB以创建所需的数据库。这仅在第一次时才需要。
答案 1 :(得分:1)
为此,您需要通过repository/conf/user-mgt.xml
配置产品以指向同一用户存储。请查看this doc以了解如何操作。