Jira使用LDAP授权认证,并且连接到内部目录(关联原来jira上的数据)
一、概述
公司使用了jira,上面已经创建了很多账户、项目、任务等,现在为了管理公司内部各个应用程序的登录认证,接入了LDAP进行认证,但是ldap上创建的账户和jira上的账户不是同一个账户,即如果我们直接使用ldap创建的账号登录,那么原来jira上面的数据都没了,这肯定是无法接受的,下面来讲如何使用ldap认证登录,并且关联到原来的数据。
二、jira配置ldap认证
1、使用有管理权限的账号,进入 管理->用户管理->用户目录,然后点击添加目录,添加内部LDAP认证( Internal with LDAP Authentication),注意:不是选择LDAP。
2、开始配置LDAP连接信息,ldap的Ip,端口,连接账号等,如果勾选上了登陆时复制用户, 当用户使用 LDAP 授权的用户名和密码登录系统的时候,用户将会在内部目录自动创建,用户的信息将会在每次用户登录的时候同步过来。如果这个选择框不选择的话,当用户没有在本地目录创建的话,用户的登录将会失败。
更多参数说明,可以参考wiki: https://www.cwiki.us/display/CONFLUENCEWIKI/Connecting+to+an+Internal+Directory+with+LDAP+Authentication
配置完成后点击下面的测试设置->测试并保存。
然后在用户目录界面调整目录顺序,通过上下箭头将授权LDAP认证调到最上面, 目录的顺序是对用户和用户组查找的时候的搜索顺序.
三、将内部用户转换为使用LDAP认证,并保留原来的数据。
1、我们现在有一个内部用户,jack。
他有两个与他相关联的任务
2、jack在ldap上面的用户名是liuwei0159,我们现在想使用liuwei0159这个账号登录,并且关联到jack的所有信息。
首先用管理账号,修改jack的用户名,改成和ldap一致,也就是改成liuwei0159。
- 现在jack的用户名已经变成了liuwei0159,好了我们现在就可以使用ldap账号密码登录了。
注意:这个时候如果你在使用jack的老密码登录是进不去了。要使用ldap的认证密码了。 - 我们使用ldap账号登录,如果提示我们没有登录权限,可能是用户组没有设置的原因。
解决方法:再次使用管理员账号登录,然后进入用户管理,会看到原来那个jack账号,全名变成了ldap上设置的名字,并且目录从原来的 JIRA Internal Directory(jira内部目录)变成了 Delegated LDAP Authentication (授权ldap认证的目录) 并且邮箱账号也变成了ldap设置的。
但是没有设置用户组,接下来设置一下用户组,增加一个用户组
好了,我们在使用ldap账号登录试一下。登陆成功了,并且可以看到关联到了之前jack的任务信息,perfect。
四、总结一下
1、配置内部目录使用ldap授权认证( Internal with LDAP Authentication)。
2、将ldap授权认证目录顺序调到最上面。
3、将原来jira账号的用户名修改为对应的ldap账号的用户名,用户名必须一样,是以用户名来关联的。
4、退出,使用ldap账号登录,提示无权限。
5、再使用管理账号修改那个用户的用户组信息(添加用户组)。
6、ldap账号重新登录。
附:流程图