這可能有助於進行身份驗證:http://rahul-ghose.blogspot.com/2014/05/openam-database-connectivity-with-mysql.html
博客的內容,取得由Rahul Ghose
OpenAM數據庫連接與MySQL
這個職位而來的,是很長一段時間後, 。我一直堅持使用我的項目創建Single Sign On實現。我正在開發一款非常棒的軟件,OpenAM,以前的OpenSSO,目前由Forgerock社區維護。
我的設置:我使用的Tomcat與MySQL和OpenAM 11.0.0在CentOS
運行第一
所以第一件事情,安裝mysql-連接器的Java爲您的操作系統,你應該得到一個jar文件。以下是我在我的箱子有:
# rpm -ql mysql-connector-java | grep jar
/usr/share/java/mysql-connector-java-5.1.17.jar
/usr/share/java/mysql-connector-java.jar
Now copy this to your tomcat installation directory. At "$CATALINA_HOME/lib" and restart tomcat.
如果跳過上面的步驟,你會遇到,看起來像這樣的錯誤:
java.lang.InstantiationException: JdbcSimpleUserDao.initialize: failed to load driver class jdbcDriver=com.mysql.jdbc.Driver exception=com.mysql.jdbc.Driver
at com.sun.identity.idm.plugins.database.JdbcSimpleUserDao.initialize(JdbcSimpleUserDao.java:274)
at com.sun.identity.idm.plugins.database.DatabaseRepo.initialize(DatabaseRepo.java:429)
at com.sun.identity.idm.server.IdRepoPluginsCache.constructIdRepoPlugin(IdRepoPluginsCache.java:475)
at com.sun.identity.idm.server.IdRepoPluginsCache.addIdRepo(IdRepoPluginsCache.java:353)
at com.sun.identity.idm.server.IdRepoPluginsCache.removeIdRepo(IdRepoPluginsCache.java:251)
at com.sun.identity.idm.server.IdRepoPluginsCache.organizationConfigChanged(IdRepoPluginsCache.java:646)
at com.sun.identity.sm.ServiceConfigManagerImpl.notifyOrgConfigChange(ServiceConfigManagerImpl.java:493)
at com.sun.identity.sm.ServiceConfigManagerImpl.objectChanged(ServiceConfigManagerImpl.java:453)
at com.sun.identity.sm.SMSNotificationManager.sendNotifications(SMSNotificationManager.java:289)
at com.sun.identity.sm.SMSNotificationManager$LocalChangeNotifcationTask.run(SMSNotificationManager.java:365)
at com.iplanet.am.util.ThreadPool$WorkerThread.run(ThreadPool.java:306)
接下來,連接到您的MySQL服務器和導航到該頁面中OpenAM(訪問控制 - >您所選擇的領域() - >數據 - >新建):
Step 1 of 2: Select type of Data store
Name: My_Database_Repo
Type:
Active Directory
Active Directory Application Mode (ADAM)
Database Repository (Early Access) <--- TICK THIS ONE
Generic LDAPv3
OpenDJ
Sun DS with OpenAM schema
Tivoli Directory Server
現在點擊下一步。我們只需更改以下字段:
Password for Connecting to database:
Password for Connecting to database (confirm):
JDBC driver url: jdbc:mysql://127.0.0.1:3306/test
Connect this user to database: root
輸入您的mysql數據庫用戶的密碼和用戶名。還要更改mysql數據庫安裝的IP地址,端口和數據庫名稱,以引用專門爲OpenAM保留的表使用。 OpenAM將使用此數據庫2和表名而你只需要在這裏指定:
User Configuration
*Database User Table Name: opensso_users
這裏:
Group configuration
Database Membership table name: groups
所以對於用戶表,您需要創建的列VARCHAR,以某種方式整數不適合我。你需要在你的表中的列名可以在此表在這裏找到:
List of User Attributes Names in Database
uid
ChangePassword
sunIdentityMSISDNNumber
mail
sn
manager
preferredlocale
iplanet_am_user_password_reset_force_reset
givenname
iplanet_am_user_alias_list
我刪除了所有的iplanet_ *屬性和在MySQL數據庫中創建一個用戶表。然後用下面的SQL腳本來創建數據庫項默認配置:
create database test;
use test;
create table opensso_users (uid varchar(50), userpassword varchar(50), inetuserstatus integer, cn varchar(50),mail varchar(50),manager varchar(50), preferredlocale varchar(50), givenname varchar(50), telephonenumber varchar(50), telephonenumber varchar(50), telephonenumber varchar(50), sn varchar(50) );
create table groups (uid varchar(50), group_name varchar(50), cn varchar(50));
現在你的用戶添加到該表走,走,走!
注:我不能讓這個配置的工作組,如果您有任何訣竅,請讓我知道
閱讀也:
1:https://wikis.forgerock.org/confluence/display/openidm/JDBC+Repository
2:數據庫配置上的郵件列表條目