这可能有助于进行身份验证: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:数据库配置上的邮件列表条目