Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden

Confluence to Crowd - Benutzerverwaltung

Atlassian Confluence - Externe Benutzerverwaltung

Die Aktivierung der Funktion Externe Benutzerverwaltung im Menüpunkt Allgemeine Konfiguration der Administrationskonsole bewirkt, dass die Benutzer- und Gruppenverwaltung innerhalb von Atlassian Confluence nicht mehr möglich ist. Zudem verhindert es die Registrierung neuer Nutzer am System.

Atlassian Crowd als externe Benutzerverwaltung

Die Kommunikation zwischen Atlassian Confuence und Atlassian Crowd erfolgt über Webservices (SOAP).

blank Hinweis
Dieser Beitrag beinhaltet nur eine grobe Beschreibung der notwendigen Implementierungsschritte. Es dient viel mehr als Leitfaden, um die Benutzerverwaltung in Gänze verstehen zu können. Die einzelnen Schritte, die erforderlich sind, um Atlassian Crowd in Atlassian Confluence zu integrieren, können über diesen Link http://confluence.atlassian.com/display/CROWD/Integrating+Crowd+with+Atlassian+Confluence nachgeschlagen werden.

Webservices und deren Aufrufe

Damit die Confluence die Methoden verwenden kann, ist ein Security-Token notwendig, der Crowd übermittelt, dass die anfragende Applikation berechtigt ist den Aufruf durchzuführen. Der Token setzt sich aus dem in Crowd für die jeweilige Confluence-Instanz definierten Applikationsnamen application.name und dem zugehörigen Passwort application.password zusammen. Beide Informationen müssen in der Datei crowd.properties, welche sich in der Confluence-Verzeichnisstruktur WEB-INF\classes befindet, enthalten sein.

blank crowd.properties Beispiel

application.name                        confluence.applicationname
application.password                    confluence.applicationpassword
application.login.url                   http://crowd.url<:port>/crowd/console/

crowd.server.url                        http://crowd.url<:port>/crowd/services/

session.isauthenticated                 session.isauthenticated
session.tokenkey                        session.tokenkey
session.validationinterval              0
session.lastvalidation                  session.lastvalidation
blank Good to know!
Die Schnittstellenbeschreibung der Webservices in Form einer WSDL kann über folgenden Aufruf bezogen werden:

http://crowd.url<:port>/crowd/services/SecurityServer?wsdl

Crowd Integration Client

Der Client, der für Confluence das Aufrufen der verschiedenen Webservices bereitstellt, wird von Crowd zur Verfügung gestellt, so dass vom Entwickler keine Erweiterungen vorgenommen werden müssen.

blank Speicherort
Die Java-Bibliothek crowd-integration-client-X.X.X.jar muss in das Confluence-Verzeichnis WEB-INF\lib kopiert werden.

Confluence als Application in Crowd hinzufügen

Wie zu vor bereits erwähnt, muss Confluence einen Security-Token an Crowd senden, um dessen WebServices zu nutzen. Zu diesem Zweck muss in Crowd eine neue Application hinzugefügt werden, die den Namen application.name sowie das Passwort application.password definiert. Die erstellte Applikation dient allerdings nicht nur zur Authentifizierung sondern auch der Benutzerzuordnung für die Confluence-Applikation selbst. Somit wird festgelegt, welcher Benutzer sich an Confluence anmelden kann.

Confluence verwendet Crowd-Repository

Damit Confluence auf das Crowd-Repository zugreifen kann muss lediglich die Datei WEB-INF\classes\atlassian-user.xml im Confluence-Verzeichnis wie folgt angepasst werden:

<atlassian-user>
    <repositories>

        <crowd key="crowd" name="Crowd Repository"/>

    </repositories>
</atlassian-user>

Crowd stellt angepasste Konfiguration für ehcache bereit

Um die Zugriffe von Confluence auf Crowd zu dezimieren, wird der ehcache verwendet. Dieser sorgt dafür, dass Nutzeranfragen auf dem Confluence-Server gecached werden, sodass nur nach Ablauf der Gültigkeit der Daten ein Requesst an Crowd abgesetzt wird.

blank Kopier- und Speicherort
Die Datei WEB-INF\classes\crowd-ehcache.xml muss durch die Datei \client\conf\crowd\ehcache.xml aus dem Crowd-Verzeichnis ersetzt werden.

Confluence nutzt den neuen Crowd Authenticator

Damit Confluence den neuen Authentifizierungsmechanismus nutzen kann, muss in der Datei WEB-INF\classes\seraph-config.xml im Confluence-Verzeichnis die Zeile:

<authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator"/>

durch den folgenden Eintrag ersetzt werden:

<authenticator  class="com.atlassian.crowd.integration.seraph.ConfluenceAuthenticator"/>

Erstellung neuer Nutzer in Crowd

Beim Erstellen von neuen Confluence-Nutzern in Crowd wird in der Crowd-Datenbank ein neuer Benutzereintrag erzeugt.

blank Info!
Erst bei einer expliziten Anfrage von Confluence an Crowd (bsp. Login, alle Nutzer anzeigen, etc...) wird in der Confluence-Datenbank ein Nutzereintrag in die External_Entities-Tabelle erstellt und der ehcache aktualisiert.
blank Achtung!
Die Daten werden nicht redundant in der Confluence-Datenbank gehalten!
3. Dezember 2010

Hallo Andreas,

ich habe eben­falls ver­sucht ein Confluence (3.3.3) an Crowd (2.1.0) anzubinden.
Anbindung funk­tio­nierte soweit auch ganz gut, aber die Performance war anschlie­ßend nicht wirk­lich zu gebrau­chen. Habt ihr ähn­li­che Erfahrungen gemacht?

blank Michael Stelzner

Hallo Andre,

wir hat­ten ähn­li­che Probleme. Bei uns war es der zwi­schen­ge­schal­tete Proxy. Confluence muss direkt an das Crowd kommen.

Comments are closed.

Pin It on Pinterest