Confluence 与Active Directory(LDAP)的集成

系统 2029 0

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!
7. 停掉confluence, 并把刚才去掉了注解的 osuserMigrationBean 重新注解起来
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里的用户进行登录了!

Confluence 与Active Directory(LDAP)的集成


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论