Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Confluence - Custom LDAP Authenticator

Manikandan Jayaraman February 22, 2013

Hi,

We use a custom ldap authenticator to facilitate single-signon for Confluence. This custom authenticator does the below:
a: Relies on LDAP for user authentication
b: Retrieves the groups for the user from Crowd to facilitate authorization.
c: If the user is authenticated by LDAP but doesnt exist in Crowd, it adds the user to crowd and associates "confluence-users" group for that user in Crowd's confluence directory

This piece of functionality works fine in Confluence 3.5, that uses Crowd's crowd-integration-client-2.3.3.jar under confluence/web-inf/lib directory.

Our new Crowd version is 2.5.1 and new confluence version is 4.3.5. In this confluence, functionalities "a" and "b" mentioned above works. But "c" doesnt work.

Observations:

1.
When I add "crowd-integration-client-2.3.3.jar" [originally used in my confluence 3.5] to confluence/web-inf/lib, the "User Directories" link under confluence -> admin is missing.

2.
When I add "crowd-integration-client-2.5.1.jar" to confluence/web-inf/lib, Confluence doesnt start at all. There is a unix process running as Confluence, but confluence doesnt come up. And no logs populate under ConfluenceHome/log. Essentially Confluence doesnt come up.

3.
When I *dont* add this crowd-integration-client-x.x.x.jar at all, "a" and "b" still works fine. BUt when a scenario of "c" happens [User authenticated in LDAP but not existing in crowd], my custom LDAP authenticator tried to add the user to Crowd, finds this jar missing and reports the following error in logs:
===
java.lang.NoClassDefFoundError: com/atlassian/crowd/service/soap/client/SecurityServerClientFactory
===

Code Snip of the part that fails:
===
SecurityServerClient securityServerClient = SecurityServerClientFactory
.getSecurityServerClient();
// Try creating new user
if (log.isDebugEnabled())

{ log.debug("Creating User record in Crowd repository."); }

SOAPPrincipal principal = new SOAPPrincipal();
principal.setActive(true);
...
...
===

The first line on the snip fails due to absence of JAR.

NOTE: We are in the UAT phase and migrating to this new version of Crowd and Confluence by Mid March. This is a blocker and I would be happy and pleased to receive a fast reply on this.

Please Help. Many Thanks in advance!

-Mani

2 answers

0 votes
Manikandan Jayaraman February 24, 2013

locally installed version within my organization

0 votes
Paul Greig
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 24, 2013

Hi Mani,

Is this issue related to a locally installed version of Confluence or the OnDemand hosted solution?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events