我已按照本指南使用 G-Reg 在 WSO2 产品之间共享注册表。但问题是用户管理表没有共享。
例如,我在 G-Reg 中创建了一个新用户“test”,但它在 WSO2 ESB 产品中无效(只能使用本机用户“admin”)。
那么是否可以共享存储在 G-Reg 中的用户?还是它们存储在本地 H2 数据库中?
我已按照本指南使用 G-Reg 在 WSO2 产品之间共享注册表。但问题是用户管理表没有共享。
例如,我在 G-Reg 中创建了一个新用户“test”,但它在 WSO2 ESB 产品中无效(只能使用本机用户“admin”)。
那么是否可以共享存储在 G-Reg 中的用户?还是它们存储在本地 H2 数据库中?
那么是否可以共享存储在 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>
在 G-REG 和 ESB中更改文件中的数据源 JNDI 名称,repository/conf/user-mgt.xml
如下所示
<Property name="dataSource">jdbc/WSO2CarbonDB_User</Property>
使用 -Dset up 选项启动 G-REG 或 ESB 以创建所需的数据库。这仅在第一次时需要。
为此,您需要将产品配置为指向同一个用户商店,方法是通过repository/conf/user-mgt.xml
. 查看此文档以了解如何执行此操作。