您的位置:首页 > 产品设计 > UI/UE

构建高效的团队协作工具(四)-Jira和Confluence集成Crowd实现SSO

2011-08-27 15:24 453 查看
1. Crowd认证所需类

和Crowd集成需要crowd-integration-client-xxx.jar类包,如果没有,从standalone版本复制一份到jira和Confluence的WEB-INF/lib目录下。在在jira4.2.1-b588(war)中可能存在这个包。

2. Crowd配置

使用crowd管理员用户登录

1) 新建Directories

建立一个通用目录,如apps,这是的目录是一个权限的集合,建立的用户会直接与这个目录关联,在这个目录建立以前应该会有个系统在安装时就已经存在的系统目录。不要更改系统原来的目录,而是新建一个,为后面的应用做准备。



2) 导入jira和Confluence用户

使用Crowd提供的用户导入工具(User->ImportUser->Atlassian Importer)导入用户,支持导入Bamboo、Jira、Confluence的用户,同时用户组也会被导入。

注意,在Product Database URL项正确填写jdbc URL。



3) 添加application

建立jira,confluence类型应用。如果JIRA和Confluence应用要将认证请求转给Crowd,则必须在Crowd中添加相应的应用(application),并映射到相应的目录上。



3. 配置jira与crowd通信

修改/opt/atlassian/jira/WEB-INF/classes/crowd.properties文件

application.name jira

application.password jira

application.login.url http://192.168.80.128:8080/jira
crowd.server.url http://192.168.80.128:8080/crowd/services/
application.name就是在crowd中为Jira建立的applications,application.password就是在crowd中建立的applications的密码。

修改/opt/atlassian/jira/WEB-INF/classes/osuser.xml文件

<opensymphony-user>

<authenticator class="com.opensymphony.user.authenticator.SmartAuthenticator" />

<!-- CROWD:START

You will need to uncomment the Crowd providers below to enable Crowd integration

and comment out the default providers that are located further down in this file.

-->

<provider class="com.atlassian.crowd.integration.osuser.CrowdCredentialsProvider"/>

<provider class="com.atlassian.crowd.integration.osuser.CrowdAccessProvider"/>

<provider class="com.atlassian.crowd.integration.osuser.DelegatingProfileProvider">

<property name="provider-1">com.atlassian.crowd.integration.osuser.CrowdProfileProvider</property>

<property name="provider-2">com.atlassian.jira.user.ExternalEntityJiraProfileProvider</property>

<property name="provider-2-exclusive-access">true</property>

</provider>

<!-- CROWD:END -->

<!-- CROWD:START - The providers below here will need to be commented out for Crowd integration -->

<!-- <provider class="com.atlassian.jira.user.osuser.JiraOFBizCredentialsProvider">

<property name="exclusive-access">true</property>

</provider>

<provider class="com.atlassian.jira.user.osuser.JiraOFBizProfileProvider">

<property name="exclusive-access">true</property>

</provider>

<provider class="com.atlassian.jira.user.osuser.JiraOFBizAccessProvider">

<property name="exclusive-access">true</property>

</provider>

-->

<!-- CROWD:END -->

</opensymphony-user>

蓝色为取消注释部分,红色为注释部分。

修改/opt/atlassian/jira/WEB-INF/classes/seraph-config.xml文件

注释掉下列部分:

<!--<authenticatorclass="com.atlassian.jira.security.login.JiraOsUserAuthenticator"/>-->

增加新的认证,在JIRA 4.2.x版本修改如下:

<authenticatorclass="com.atlassian.crowd.integration.seraph.v22.JIRAAuthenticator"/>

4. 配置Confluence与crowd通信

修改/opt/atlassian/confluence/WEB-INF/classes/crowd.properties文件

session.lastvalidation=session.lastvalidation

session.isauthenticated=session.isauthenticated

application.password=confluence

application.name=confluence

session.validationinterval=0

crowd.server.url=http://192.168.80.128:8080/crowd/services/

session.tokenkey=session.tokenkey

application.login.url=http://192.168.80.128:8080/confluence

application.name就是在crowd中为confluence建立的applications,application.password就是在crowd中建立的applications的密码。

修改/opt/atlassian/confluence/WEB-INF/classes/atlassian-user.xml文件

注释掉下列部分:

<!--<hibernate name="Hibernate Repository"key="hibernateRepository" description="Hibernate Repository" cache="true"/>-->

去掉以下部分注释:

<crowd key="crowd" name="CrowdRepository"/>

注意:最后在配置文件中,只保留这段配置,其他多余配置一律注释

修改/opt/atlassian/confluence/WEB-INF/classes/seraph-config.xml文件

注释掉以下内容:

<!--<authenticatorclass="com.atlassian.confluence.user.ConfluenceAuthenticator"/>-->

去掉注释打开以下内容(如果没有就添加)

<authenticatorclass="com.atlassian.crowd.integration.seraph.v22.ConfluenceAuthenticator"/>

5. 重启Tomcat进行验证
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: