我已經遵循this guide關於在使用G-Reg的WSO2產品之間共享註冊表。但問題是用戶管理表不共享。用戶管理表不在WSO2產品之間共享
例如,我在G-Reg中創建了一個新用戶「測試」,但它在WSO2 ESB產品中無效(只能使用本機用戶「admin」)。
那麼是否有可能共享存儲在G-Reg中的用戶?或者他們存儲在當地的H2數據庫中?
我已經遵循this guide關於在使用G-Reg的WSO2產品之間共享註冊表。但問題是用戶管理表不共享。用戶管理表不在WSO2產品之間共享
例如,我在G-Reg中創建了一個新用戶「測試」,但它在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>
變化只需要在repository/conf/user-mgt.xml
文件就像兩個G-REG和ESB
<Property name="dataSource">jdbc/WSO2CarbonDB_User</Property>
啓動G-REG或ESB與-Dset up選項來創建所需的database。這之後的數據源JNDI名稱在第一時間。
爲此,您需要將產品配置爲指向同一用戶商店,方法是通過repository/conf/user-mgt.xml
進行配置。看看this doc瞭解如何做到這一點。