2015-10-09 44 views
1

我已經遵循this guide關於在使用G-Reg的WSO2產品之間共享註冊表。但問題是用戶管理表不共享。用戶管理表不在WSO2產品之間共享

例如,我在G-Reg中創建了一個新用戶「測試」,但它在WSO2 ESB產品中無效(只能使用本機用戶「admin」)。

那麼是否有可能共享存儲在G-Reg中的用戶?或者他們存儲在當地的H2數據庫中?

回答

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. 01條目下方
  4. 變化只需要在repository/conf/user-mgt.xml文件就像兩個G-REG和ESB

    <Property name="dataSource">jdbc/WSO2CarbonDB_User</Property> 
    
  5. 啓動G-REG或ESB與-Dset up選項來創建所需的database。這之後的數據源JNDI名稱在第一時間。

1

爲此,您需要將產品配置爲指向同一用戶商店,方法是通過repository/conf/user-mgt.xml進行配置。看看this doc瞭解如何做到這一點。