我在本地安装了Jira 5.x以及包含用户和组的OpenLDAP服务器。 Jira中的Syncronisation可以完美地覆盖所有用户和组,但用户不属于任何组。我已设置默认组以使LDAP用户能够登录Jira。
我做错了什么?
这是LDAP架构:
dn: uid=demo.user@domain.com,ou=intern,ou=people,dc=company,dc=local
objectClass: posixAccount
objectClass: account
objectClass: ldapPublicKey
homeDirectory: /home/demouser
loginShell: /bin/bash
cn: Demo User
uidNumber: 10001
gidNumber: 10001
userPassword: {SSHA}xxxxxxxxxxx
uid: demo.user@domain.com
dn: cn=groupname,ou=project,ou=group,dc=company,dc=local
objectClass: posixGroup
description: a funny group for a project
gidNumber: 10018
cn: groupname
memberUid: demo.user@domain.com
memberUid: xyz
memberUid: ...
如果我在Jira中运行测试,我收到以下错误消息:
测试获取用户的会员资格,检索0个组。 :失败
这些是Jira中的设置:
答案 0 :(得分:9)
我们遇到了类似的问题。似乎JIRA坚持要包括用户成员属性 - 来自用户模式 - 例如“memberOf”,无论您是否已经拥有组成员属性。但是它应该是一个/或选项 - 组成员资格属性(例如组模式中的memberUid)或用户成员资格属性(例如用户模式中的memberOf),因为它们或多或少地履行相同的功能。
当我们注意到目录类型实际上存在两个密切相关的选项时,问题就解决了:“OpenLDAP”和“OpenLDAP(只读Posix架构)”。当我们使用posixGroup模式时(如您的示例所示),选择只读Posix模式解决了该问题。如果您转到顶部的“服务器设置”部分,则应在下拉列表中看到这两个选项。
此外,您应该能够在“LDAP权限”部分中从“只读,使用本地组”切换到“只读”(如果您愿意)。需要注意的是,我们使用inetOrgPerson和shadowAccount模式(而不是帐户,如在您的示例中)和posixAccount一起用于用户模式。