Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to do a custom LDAP query?

Peter Korsten November 14, 2014

Hi,

For a specific requirement - a request must be approved by the requester's manager - I need to retrieve a field from Active Directory. The name of the field is easy enough, it's "manager". But I cannot find anywhere how to do a query to actually fetch that particular field for a given user.

Is this possible in the first place? The JavaDocs are a dead end, and searching with Google loads to nothing as well. Writing a custom field is not a problem, nor is accessing classes such as ComponentAccessor, UserManager or Directory. But for the actually query, I'm lost.

Thanks,

- Peter

2 answers

0 votes
Peter Korsten November 17, 2014

I've solved it (of sorts) by getting the connection properties from the user's directory object and creating a JNDI "Context" object. Obviously, this implies a new LDAP connection every time the field is displayed, but to be honest I wouldn't know a more elegant solution.

0 votes
Stephen Gurnick
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 14, 2014

It is possible to write a LDAP query against Active Directory - I am doing this to retrieve a subset of available groups such that only those are available to Confluece/JIRA.

I suggest looking at this page from Microsoft: http://msdn.microsoft.com/en-us/library/windows/desktop/aa746475%28v=vs.85%29.aspx

However, I'm not sure if it is possible to do this outside of the User Directories administration area.

Peter Korsten November 16, 2014

OK, thanks, but how exactly are you performing the query? My question was perhaps a bit unclear: what I'm trying to get is some sort of handle to a directory that I can query directly.

What I've found so far is that you can get the attributes of the Directory object for a user, which contains the LDAP/AD connection specifics, and I could use those in a JNDI query. But that seems like a somewhat inelegant solution.

Basically, to find a way to get the LDAP connection object that JIRA itself is using.

Thanks,

- Peter

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events