Confluence 与Active Directory(LDAP)的集成
1. 按照说明安装Confluence,并创建缺省的管理员帐号admin
2. 下载hibernate_osuser_atlassianUserContext.xml, 并改名为atlassianUserContext.xml,然后覆盖confluence/WEB-INF/classes目录下的同名文件(记得先备份旧文件!).
3. 将confluence/WEB-INF/classes/upgradeSubsystemContext.xml内对osuserMigrationBean部分的注解去掉
4. 重起confluence, 并用admin登录后访问http://host.com/admin/osuser2atluser.jsp (假设你的服务器基础路径为http://host.com/)
5. 点击 Begin migration 按钮
6. 如果顺利的话你会看到:
Migrating users
Users migrated successfully!
Migrating propertyset data
Propertyset data migrated successfully!
Migrating groups
Groups migrated successfully!8. 下载 ldap_hibernate_cache_atlassianUserContext.xml 文件,并重命名为atlassianUserContext.xml,然后覆盖confluence/WEB-INF/classes目录下的同名文件
下面是最麻烦的部分,就是设置ldap相关的属性
9.在你的active directory里创建一个用来访问目录服务的用户,假设叫wikiuser,密码为123456。你的windows域为abc.com
10. 修改atlassianUserContext.xml内<property name="connectionProperties">部分,使confluence可以访问你的ldap服务:
<property name="connectionProperties">
<props>
<prop key="host">192.168.1.1</prop>
<prop key="port">389</prop>
<prop key="securityPrincipal">wikiuser@abc.com</prop>
<prop key="securityCredential">123456</prop>
<prop key="securityProtocol">plain</prop>
<prop key="securityAuthentication">simple</prop>
<prop key="baseContext">dc=abc,dc=com</prop>
<prop key="initialContextFactory">com.sun.jndi.ldap.LdapCtxFactory</prop>
<prop key="batchSize">100</prop>
<prop key="timeToLive">0</prop>
</props>
</property>11. 修改修改atlassianUserContext.xml内<property name="schemaMappingsProperties">令confluence可以将相关的设置和你的ldap服务关联起来.
<property name="schemaMappingsProperties">
<props>
<prop key="baseUserNamespace">dc=abc,dc=com</prop>
<prop key="baseGroupNamespace">ou=Special Groups,dc=abc,dc=com</prop>
<prop key="usernameAttribute">sAMAccountName</prop>
<prop key="userSearchFilter">(objectClass=user)</prop>
<prop key="firstnameAttribute">givenName</prop>
<prop key="surnameAttribute">sn</prop>
<prop key="emailAttribute">mail</prop>
<prop key="groupnameAttribute">cn</prop>
<prop key="groupSearchFilter">(objectClass=group)</prop>
<prop key="membershipAttribute">member</prop>
<prop key="userSearchAllDepths">true</prop>
<prop key="groupSearchAllDepths">true</prop>
</props>
</property>
这里有几个地方需要注意:
a) "baseGroupNamespace"这里,我假设你将所有需要用来管理权限的Group都放在"Special Groups"这个OU下了。一开始的时候你可以先把"ou=Special Groups,"这部分去掉。等搞清楚confluence和ldap的集成原理后再自己根据情况加上去。
b) "usernameAttribute" 如果我使用了"sAMAccountName"这个AD的特殊属性,好处是你在登录的时候可以直接使用abc这样的用户ID来登录,坏处是在confluence的Group manange里无法列出group里的用户。你可以改为使用"cn", 这样的话就可以列出用户,但是登录的时候可能需要使用完整的用户名进行登录,例如"Rayman Zhang"。
12. 保存修改后重新启动confluence. 并用admin登录
13. 去到Administration > Global Permissions页面,在Groups点Edit permission,然后增加你需要允许其使用confluence的Group. 同理修改"Individual Users"
大功告成,你现在可以用ldap里的用户进行登录了!
posted on 2006-04-24 15:20 Rayman Zhang 阅读(8095) 评论(0) 收藏 举报
浙公网安备 33010602011771号