【问题标题】:User Management Tables are not shared between WSO2 productsWSO2 产品之间不共享用户管理表
【发布时间】:2015-10-09 05:20:20
【问题描述】:

我已遵循this guide 在使用 G-Reg 的 WSO2 产品之间共享注册表。但问题是用户管理表没有共享。

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

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

【问题讨论】:

    标签: wso2 user-management wso2greg


    【解决方案1】:

    那么是否可以共享存储在 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. 更改 repository/conf/user-mgt.xml 文件中的数据源 JNDI 名称,如下所示在 G-REG 和 ESB 中

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-15
        • 2019-01-31
        相关资源
        最近更新 更多