通过基于JDBC的用户存储部署Identity Server
在這篇文章中,我將演示如何使用JDBC用戶存儲配置WSO2 Identity Server。 為了演示,我使用的是MySQL用戶存儲,但是相同的過程也適用于任何其他JDBC用戶存儲。 我的環境是
- 操作系統– Ubuntu 12.10
- Java – 1.6
- WSO2是4.5.0
(在本文中,我將提取的wso2is文件夾稱為CARBON_HOME)
設置MySQL數據庫
我們首先需要運行MySQL。 如果尚未建立MySQL資料庫 ,這篇文章會很有幫助。 MySQL運行后,我們必須根據Identity Server的要求來建立數據庫。 服務器在其內部打包了必要的sql腳本,這些腳本可以位于CARBON_HOME / dbscripts中。
讓我們登錄到MySQL服務器并執行以下命令:
創建一個數據庫,
mysql> create datbase JDBC_demo_user_store;看看創作,
mysql> show databases;
然后使用sql腳本并設置數據庫,
mysql> use JDBC_demo_user_store;mysql> source <path_to>/wso2is-4.5.0/dbscripts/mysql.sql;這將在SQL腳本中運行查詢并設置所需的表。
現在,如果我們輸入命令,將顯示以下輸出。
mysql> show tables;
現在我們完成了數據庫的設置。 我們可以繼續要求Identiy Server使用它。
注意:在執行以下步驟之前,我們還需要將mysql-jdbc連接器添加到Identity Server。 您可以從此處下載它,并將其放入CARBON_HOME / repository / components / lib中。
IS中的用戶存儲配置–主要
Identity Server使用嵌入式H2數據庫保留權限詳細信息等,其數據源詳細信息位于CARBON_HOME / repository / conf / datasources / master-datasources.xml中。 我們也可以在此處添加新JDBC用戶存儲的數據源詳細信息。 根據我的設置,這是master-datasources.xml文件。
<datasource><name>JDBC_demo_user_store</name><description>The datasource used for JDBC_demo_user_store</description><jndiConfig><name>jdbc/JDBC_demo_user_store</name></jndiConfig><definition type="RDBMS"><configuration><url>jdbc:mysql://localhost:3306/JDBC_demo_user_store</url><username>root</username><password>pushpalanka2</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> </datasource>用戶存儲的主要配置位于CARBON_HOME / repository / conf / user-mgt.xml文件中。 默認情況下,它指向嵌入式ReadLDAPUserStoreManager。 現在我們將其更改為JDBCUserStoreManager。 因此,讓我們注釋掉默認值之一,并取消注釋JDBCUserStoreManager。 現在,我們將有一個類似于this的user-mgt.xml文件 。 如果需要,我們可以根據上下文修改這些屬性。
現在配置已結束。 讓我們從bin / wso2server.sh啟動服務器。 一旦開始,請繼續并將用戶添加到“主”域。
現在,如果我們檢查在數據庫中創建的UM_USER表,它也會列出用戶。
IS中的用戶存儲配置–輔助
現在,讓我們看看如何在IS中將相同的MySQL用戶存儲用作輔助用戶存儲。 這很容易,我們可以通過UI進行全部操作,而無需對master-datasources.xml或user-mgt.xml中的上述默認配置進行任何修改。 我們必須在此處添加驅動程序名稱,URL,用戶名和密碼,作為先前在master-datasources.xml中提供的強制屬性。
添加后,它將顯示在可用的用戶存儲列表中。 在UI中定義用戶商店經理是很直觀的,但是如果您想了解更多詳細信息,可以參考這篇文章 。 如果需要,我們也可以編輯可選屬性。 高級部分包含JDBC用戶存儲管理器所需的SQL語句。
Advanced Option:如果要編輯數據庫結構(SQL腳本),則需要使用該Advanced選項根據該架構更新這些SQL查詢。
現在,如果我們嘗試添加新用戶,我們還將看到該輔助域。
如果選擇此域并添加用戶,我們可以看到用戶添加到數據庫中的方式與主要用戶存儲中的方式相同。
參考: Pushpalanka博客博客中的JCG合作伙伴 Pushpalanka 通過基于JDBC的用戶存儲部署Identity Server 。翻譯自: https://www.javacodegeeks.com/2013/09/deploying-identity-server-over-a-jdbc-based-user-store.html
總結
以上是生活随笔為你收集整理的通过基于JDBC的用户存储部署Identity Server的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用NetBeans 7.4 beta提
- 下一篇: 打印机怎么连接电脑两台电脑如何连接一台打