1

我已按照本指南使用 G-Reg 在 WSO2 产品之间共享注册表。但问题是用户管理表没有共享。

例如,我在 G-Reg 中创建了一个新用户“test”,但它在 WSO2 ESB 产品中无效(只能使用本机用户“admin”)。

那么是否可以共享存储在 G-Reg 中的用户?还是它们存储在本地 H2 数据库中?

4

2 回答 2

2

那么是否可以共享存储在 G-Red 中的用户?还是它们存储在本地 H2 数据库中?

是的,您可以在所有 WSO2 产品之间共享用户。默认情况下,使用随所有产品一起提供的 H2。

如果要在多个产品之间共享用户,则需要使用 mysql、postgresql 等生产就绪数据库。

  1. 创建一个名为的数据库userdb

  2. 在中添加以下条目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>
    

  3. 在 G-REG 和 ESB中更改文件中的数据源 JNDI 名称,repository/conf/user-mgt.xml如下所示

    <Property name="dataSource">jdbc/WSO2CarbonDB_User</Property>
    
  4. 使用 -Dset up 选项启动 G-REG 或 ESB 以创建所需的数据库。这仅在第一次时需要。

于 2015-10-09T06:08:24.703 回答
1

为此,您需要将产品配置为指向同一个用户商店,方法是通过repository/conf/user-mgt.xml. 查看此文档以了解如何执行此操作。

于 2015-10-09T05:56:30.863 回答