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>
repository/conf/user-mgt.xml
G-REG と ESB の両方で、次のようにファイル内のデータソース JNDI 名を変更します。
<Property name="dataSource">jdbc/WSO2CarbonDB_User</Property>
-Dset up オプションを指定して G-REG または ESB を起動し、必要なデータベースを作成します。これは初回のみ必要です。