如何仅从特定组将Active Directory用户导入JIRA?

时间:2011-10-17 12:26:44

标签: active-directory ldap jira

开始时的一个警告 - 我实际上并不知道我想做什么是可能的,特别是因为我不熟悉LDAP / Active Directory或JIRA。

我正在尝试将我闪亮的JIRA新安装与我现有的活动目录集成。我想要做的是设置一些特定的JIRA组(例如在London \ Security Groups \ JIRA *中),然后让JIRA只导入拥有这些组成员资格的用户。但是,在JIRA的目录设置页面中,我不明白该怎么做。它似乎表明我可以导入用户组,但不能导入来自组的用户

我错过了什么? (除了AD的专家级知识!)

更新

在我的域名下,我有一个像这样的组织结构:

London\Users

London\Security Groups\JIRA

在后一个组织单位下,我有一个名为“jira-users”的安全组。前者包含所有用户。

到目前为止,我已经尝试了以下查询,但没有一个有效:

(所有前缀为&(objectCategory=Person)(sAMAccountName=*)"

memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=mycompany,dc=local

memberof=CN=JIRA,ou=London,ou=Security Groups,dc=mycompany,dc=local

(仅以&(objectCategory=Person)"为前缀)

memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=mycompany,dc=local

已完成

有效的查询是:

memberof=CN=jira-users,OU=JIRA,OU=Security Groups,OU=London,DC=mycompany,DC=local

我没有意识到,对于逻辑上从左到右的文件夹结构,伦敦\安全组\ JIRA,组织单位需要以相反的顺序列出。

进一步更新

仅在出于某种原因使用DirectorySearcher类时才有效,例如

DirectoryEntry rootEntry = new DirectoryEntry("LDAP://dc=mycompany,dc=local");
DirectorySearcher srch = new DirectorySearcher(rootEntry);
srch.SearchScope = SearchScope.Subtree;
srch.Filter = "(&(objectCategory=Person)(sAMAccountName=*)(memberof=CN=jira-users,ou=London,ou=Security Groups,ou=JIRA,dc=mycompany,dc=local))";
SearchResultCollection results = srch.FindAll();

这在LDAP资源管理器tool中无效,后来在JIRA本身无效。

上次更新

所以...对于JIRA,你需要反转顺序并删除通配符。最后的工作查询是:

(&(objectCategory=Person)(memberof=CN=jira-users,OU=JIRA,OU=Security Groups,OU=London,DC=mycomapny,DC=local))

1 个答案:

答案 0 :(得分:5)

在用户模式设置下设置用户目录时。您应该看到“用户对象过滤器”字段。在那里你应该能够添加这样的东西:

(memberOf=cn=jira-users,ou=London,dc=mydomain,dc=com)

这将允许您根据特定的LDAP组进行过滤。当然,您需要编辑上面的值以反映您自己的环境。