补充说明:
- 通过此方法集成后,用户、组以及用户和组的关系都在Crowd系统中存储,但各个系统的权限仍由各系统控制,也可在JIRA和Confluence中添加和删除用户。
- 在做步骤4和步骤5的时候,要特别小心,确保当前系统的超级权限用户(一般为admin,具体看当前系统的全局权限配置)和组以及它们的关系已经在Crowd中同样存在了,才可切换并禁用当前系统的内部用户目录,否则可能造成权限丢失等严重问题(因为禁用了内部用户目录,而Crowd中又不存在这个超级权限用户和组或它们的关系,所以权限就丢失了)
- 维护示例:
- 情景一:比如Confluence默认全局权限是属于confluence-users组中的成员才允许访问Confluence,那么在Crowd中添加用户A后,想让其能访问Confluence,则需要将其加入confluence-users组
- 情景二:在JIRA上添加了用户A并加入confluence-users组后,JIRA和Crowd上这个用户A信息立即是最新的,但是Confluence上默认要过60分钟后自动同Crowd同步后,用户A信息才会更新,如果想Confluence也立即更新用户A信息,则需您以有管理员权限的用户登录Confluence后台->用户目录,手动点击“用户来自Crowd”用户目录的[同步]按钮进行立即同步。
1、在Crowd中,将其它系统中的用户、组以及用户和组的关系同样在Crowd中建一份
-
比如本例以JIRA和Confluence与Crowd集成为例,JIRA和Confluence的环境如下:
-
JIRA默认有4个组:jira-administrators、jira-software-users、jira-core-users、jira-servicedesk-users(是否有这绿色的3个组取决于你JIRA是否安装和授权了相应的模块),JIRA默认管理员admin都属于这4个组。
-
Confluence默认有2个组:confluence-administrators、confluence-users,confluence默认管理员admin都属于这2个组。
-
-
在Crowd中,添加上面的所有用户、组以及用户和组的关系,具体的添加方法如下图:
-
添加组
-
添加用户
如果您按照本系列教程安装的Crowd,在初始化配置Crowd过程中,就已经添加了名为admin 的管理员以及默认的Crowd内部用户目录Atlassian Common User Directory。则直接设置 admin和组的关系即可。
如果没有相应JIRA和Confluence的系统中的用户,你需要在Crowd上添加这些用户。
-
-
设置用户和组的关系
-
这样,最终在Crowd的用户目录Atlassian Common User Directory中有:
- 用户组6个:jira-administrators、jira-software-users、jira-core-users、jira-servicedesk-users、confluence-administrators、confluence-users
- 用户1个:admin
- 用户和组的关系:admin是这6个组的成员
2、在Crowd中,添加Application(供JIRA和Confluence的连接通道)
3、在JIRA中,配置JIRA用户和组来自Crowd
-
3.1、在JIRA中,建一个Crowd类型的用户目录
-
【JIRA后台】>【用户管理】>【用户目录】里添加个Crowd类型的用户目录
-
-
3.2、在JIRA中,同步用户目录并将顺序调为第一
-
3.3、在JIRA中,禁用JIRA内部用户目录
最终如下:
4、配置Confluence用户和组来自Crowd
-
4.1、在Confluence中,建一个Crowd类型的用户目录
- 【Confluence后台】>【用户&安全】>【用户目录】里添加个Crowd类型的用户目录
- 【Confluence后台】>【用户&安全】>【用户目录】里添加个Crowd类型的用户目录
-
4.2、在Confluence中,同步用户目录并将顺序调为第一
-
4.3、在Confluence中,禁用Confluence内部用户目录
最终如下:
5、单点登录SSO配置
以上步骤已经完成了JIRA、Confluence与Crowd的用户集成,但还没实现SSO单点登录(即登录JIRA后访问Confluence时也自动登录了,反过来也一样)。在没设置单点登录之前现在他们虽然是用一套用户,但是jira和confluence会互t。只能登录一个系统。接下来实现单点登录:
-
5.1、复制CROWD安装目录/client/conf/crowd.properties到下面对应程序目录:
(JIRA)JIRA/atlassian-jira/WEB-INF/classes/crowd.properties
(Confluence)CONFLUENCE/confluence/WEB-INF/classes/crowd.properties
-
5.2、修改jira/atlassian-jira/WEB-INF/classes/crowd.properties文件
-
5.3、修改jira/atlassian-jira/WEB-INF/classes/seraph-config.xml文件
在文件末尾附近
-
5.4、修改confluence/confluence/WEB-INF/classes/crowd.properties文件
-
5.5、修改confluence/confluence/WEB-INF/classes/seraph-config.xml文件
在文件末尾附近