1. Ldap与JetSpeed集成
Ldap与JetSpeed2集成需要进行如下步骤:
1. Apacheds部署说明
ApacheDS是Apache推出的一个Ldap服务器,可以在
http://directory.apache.org/apacheds/1.0/custom-schema.html下载到最新版,本文档使用ApacheDS版本是1.0.2。
1. 安装说明
下载后的版本是一个安装程序,直接解压安装即可。
2. 添加schema文件
在/conf/下,找到server.xml文件,找到如下配置段:
<property name="bootstrapSchemas">
<set>
<bean class="org.apache.directory.server.core.schema.bootstrap.AutofsSchema"/>
<bean class="org.apache.directory.server.core.schema.bootstrap.CorbaSchema"/>
<bean class="org.apache.jetspeed.security.ldap.JetspeedSchema"/>
。。。
</set>
</property>
|
上文就是在ApacheDS中加入schema文件的方式,ApacheDS的schema文件是以class形式保存在jar中的,
红字部分是导入了Jetspeed2的schema文件,由于schema文件是放在jar中的,所以需要下载jetspeed2的schema包文件,1.0.2服务器的jar包地址是:http://people.apache.org/~taylor/LDAP/jetspeed-security-schema-2.1.3.jar,放入到/Ldap服务器/lib/下即可在server.xml中添加schema文件。
3. 关于server.xml的一些说明
<prop key="java.naming.security.principal">uid=admin,ou=system</prop>
<prop key="java.naming.security.credentials">secret</prop>
|
上面两个prop key分别代表服务器管理员与密码;
<property name="ldapPort" value="10389" />
|
上面的property是服务器端口,大多服务器默认为389,Apache的默认端口有些不同。
4. 部署Apache Directory Studio客户端
客户端下载地址为
http://directory.apache.org/studio/download-windows.html,本文档使用版本为1.0.1,安装后如图:
在左下方框中点击鼠标右键,选择new connection,之后如图:
这里填写服务器基本信息,connection name是连接标识名;
点击next,之后如图:
在这里填写管理员信息与密码,之后就可以使用ApacheDS服务器了。
1. 导入JetSpeed2的Ldif文件
jetspeed2的ldif文件下载地址如下:
在客户端使用File-Import导入文件即可。
1. 更改jetspeed2配置文件
将jetspeed应用文件夹下的/conf/assembly/安全相关配置文件
security-spi-ldap.xml、security-spi-ldap-atn.xml、security-spi-ldap-atz.xml
换为下面的配置文件:
上面文件也可以在jetspeed2源码中获得,位置是jetspped-src/components /security/etc/下面。
注意将被替换的文件移除。
之后将sercurity-spi-ldap.xml内容更换为:
<beans>
<!-- ************** Ldap Configuration ************** -->
<bean id="org.apache.jetspeed.security.spi.impl.ldap.LdapBindingConfig"
class="org.apache.jetspeed.security.spi.impl.ldap.LdapBindingConfig">
<!-- The LDAP initial context factory. -->
<constructor-arg index="0"><value>com.sun.jndi.ldap.LdapCtxFactory</value></constructor-arg>
<!-- The LDAP server name. -->
<constructor-arg index="1"><value>localhost</value></constructor-arg>
<!-- The LDAP server port. -->
<constructor-arg index="2"><value>10389</value></constructor-arg>
<!-- The LDAP server root context. -->
<constructor-arg index="3"><value>o=sevenSeas</value></constructor-arg>
<!-- The LDAP server root dn. -->
<constructor-arg index="4"><value>uid=admin,ou=system</value></constructor-arg>
<!-- The LDAP server root password. -->
<constructor-arg index="5"><value>secret</value></constructor-arg>
<!-- The roles filter. -->
<constructor-arg index="6"><value>(objectclass=jetspeed-2-role)</value></constructor-arg>
<!-- The groups filter. -->
<constructor-arg index="7"><value>(objectclass=jetspeed-2-group)</value></constructor-arg>
<!-- The user filter. -->
<constructor-arg index="8"><value>(objectclass=jetspeed-2-user)</value></constructor-arg>
<!-- The roleMembershipAttributes. -->
<constructor-arg index="9"><value>j2-role</value></constructor-arg>
<!-- The userRoleMembershipAttributes. -->
<constructor-arg index="10"><value>j2-role</value></constructor-arg>
<!-- The groupMembershipAttributes. -->
<constructor-arg index="11"><value>uniqueMember</value></constructor-arg>
<!-- The userGroupMembershipAttributes. -->
<constructor-arg index="12"><value>j2-group</value></constructor-arg>
<!-- The groupMembershipForRoleAttributes. -->
<constructor-arg index="13"><value>uniqueMember</value></constructor-arg>
<!-- The roleGroupMembershipForRoleAttributes. -->
<constructor-arg index="14"><value></value></constructor-arg>
<!-- The defaultSearchBase. -->
<constructor-arg index="15"><value>o=sevenSeas</value></constructor-arg>
<!-- The roleFilterBase. -->
<constructor-arg index="16"><value>ou=Roles,ou=rootOrg</value></constructor-arg>
<!-- The groupFilterBase. -->
<constructor-arg index="17"><value>ou=Groups,ou=rootOrg</value></constructor-arg>
<!-- The userFilterBase. -->
<constructor-arg index="18"><value>ou=People,ou=rootOrg</value></constructor-arg>
<!-- The roleObjectClasses. -->
<constructor-arg index="19"><value>top,groupOfUniqueNames,jetspeed-2-role</value></constructor-arg>
<!-- The groupObjectClasses. -->
<constructor-arg index="20"><value>top,groupOfUniqueNames,jetspeed-2-group</value></constructor-arg>
<!-- The userObjectClasses. -->
<constructor-arg index="21"><value>top,person,organizationalPerson,inetorgperson,jetspeed-2-user</value></constructor-arg>
<!-- The roleIdAttribute. -->
<constructor-arg index="22"><value>cn</value></constructor-arg>
<!-- The groupIdAttribute. -->
<constructor-arg index="23"><value>cn</value></constructor-arg>
<!-- The userIdAttribute. -->
<constructor-arg index="24"><value>cn</value></constructor-arg>
<!-- The UidAttribute. -->
<constructor-arg index="25"><value>uid</value></constructor-arg>
<!-- The MemberShipSearchScope. -->
<constructor-arg index="26"><value>1</value></constructor-arg>
<!-- The roleUidAttribute. -->
<constructor-arg index="27"><value>cn</value></constructor-arg>
<!-- The groupUidAttribute. -->
<constructor-arg index="28"><value>cn</value></constructor-arg>
<!-- The userUidAttribute. -->
<constructor-arg index="29"><value>uid</value></constructor-arg>
<!-- The roleObjectRequiredAttributeClasses. -->
<constructor-arg index="30"><value>cn,j2-classname,uid,uniquemember</value></constructor-arg>
<!-- The groupObjectRequiredAttributeClasses. -->
<constructor-arg index="31"><value>cn,j2-classname,uid,uniqueMember</value></constructor-arg>
<!-- The userAttributes. -->
<constructor-arg index="32"><value>sn={u},cn={u},uid={u}</value></constructor-arg>
<!-- The roleAttributes. -->
<constructor-arg index="33"><value></value></constructor-arg>
<!-- The groupAttributes. -->
<constructor-arg index="34"><value></value></constructor-arg>
<!-- The userPasswordAttribute. -->
<constructor-arg index="35"><value>userPassword</value></constructor-arg>
<!-- The knownAttributes. -->
<constructor-arg index="36"><value>cn,sn,o,uid,ou,objectClass,userPassword,member,uniqueMember,memberOf,j2-role,j2-group</value></constructor-arg>
</bean>
</beans>
启动jetspeed2服务器,输入用户名查看效果,注意,全部用户初始密码均是secretv