Das ist die Alternative zum 2. Schritt auf der Seite über das Integrieren von Crowd in Atlassian Jira für die Benutzer, die Crowd in Jira 4.2 oder früher integrieren wollen.


Verwenden Sie die Client Libraries von Crowd 2.2.7 um in Jira 4.2 oder früher zu integrieren, selbst wenn der Crowd Server aktueller ist. Die Client Libraries von Crowd 2.2.7 sind kompatibel mit den neueren Releases des Crowd Servers.


Schritt 2: Konfigurieren Sie Jira für die Kommunikation mit Crowd

2.1 Installieren Sie die Crowd Client-Libraries in Jira

Jira benötigt Crowds Client Libraries, um die Benutzer-Authentifizierung zur Crowd-Applikation zu delegieren. Wie zuvor schon erwähnt, werden wir die Jira-Applikation modifizieren, indem wir die entpackte WAR-Datei, die unter JIRA/atlassian-jira gesichert ist, editieren.

  1. Wenn Sie die Crowd WAR-Distribution verwenden, dann müssen Sie die CROWD Client-Libraries aus der Crowd-Distribution beschaffen, die auf Atlassians Downloadseite verfügbar sind.
  2. Kopieren Sie die Crowd Client-Libraries und Konfigurationsdateien zu Jira:

    Kopieren von...Einfügen in...
    CROWD/client/crowd-integration-client-X.X.X.jarJIRA/atlassian-jira/WEB-INF/lib
    CROWD/client/conf/crowd.propertiesJIRA/atlassian-jira/WEB-INF/classes

    Duplizieren Sie die Crowd Client-Libraries in Ihren Klassenpfad.
    Jira sollte nur eine Kopie des Crowd-Integration-Client installiert haben. Deshalb müssen Sie die existierende crowd-integration-client-X.X.X.jar Datei aus Jiras WEB-INF/lib Verzeichnis entfernen und sie mit der CROWD/client/crowd-integration-client-X.X.X.jar ersetzen, anstatt sie nur herüber zu kopieren. Auch das Umbenennen der existierenden crowd-integration-client.jar wird nicht funktionieren, weil Jira mit den duplizierten Crowd Client-Libraries in seinem Klassenpfad beginnen wird.

  3. Wenn Sie Jira 3.11 oder früher verwenden, dann müssen Sie die seraph-0.7.12.jar Datei aus Jiras WEB-INF/lib/ Verzeichnis entfernen und sie mit der folgenden Datei ersetzen:
    http://repository.atlassian.com/maven2/com/atlassian/seraph/atlassian-seraph/0.10/atlassian-seraph-0.10.jar
  4. Wenn Sie Jira 3.12.2 oder früher verwenden, dann müssen Sie Jiras Xfire-Libraries aktualisieren:
    • Entfernen Sie die xfire-all-1.2.1.jar Datei aus Jiras WEB-INF/lib/ Verzeichnis.
    • Kopieren Sie die folgenden zwei Dateien aus Crowds client/lib/ Verzeichnis zu Jiras WEB-INF/lib/ Verzeichnis:
      • xfire-aegis-1.2.6.jar
      • xfire-core-1.2.6.jar
  5. Ersetzen Sie Jiras Cache-Konfigurationsdatei:

    Kopieren von...Einfügen in...
    CROWD/client/conf/crowd-ehcache.xmlJIRA/atlassian-jira/WEB-INF/classes/crowd-ehcache.xml
  6. Editieren Sie JIRA/atlassian-jira/WEB-INF/classes/crowd.properties. Ändern Sie die folgenden Einstellungen:

    SchlüsselWert
    application.nameJira Der Applikationsname muss mit dem Namen übereinstimmen, den Sie bei der Definition der Applikation in Crowd festgelegt haben (sehen Sie Schritt 1 oben).
    application.passwordDas Passwort muss identisch zum Passwort sein, das Sie bei der Definition der Applikation in Crowd festgelegt haben (sehen Sie Schritt 1 oben).
    crowd.server.url

    http://localhost:8095/crowd/services/

    Wenn der Port Ihres Crowd Servers abweichend vom Standard konfiguriert ist (d. h. 8095), dann passen Sie ihn an.

    session.validationintervalSetzen Sie den Wert 0, wenn Sie möchten, dass bei jeder Anfrage eine Authentifizierungs-Überprüfung stattfindet. Andernfalls legen Sie eine gewünschte Anzahl an Minuten fest, nach der validiert werden soll, ob ein Benutzer im Crowd SSO Server eingeloggt ist oder nicht. Wenn Sie diesen Wert auf 1 oder höher setzen, dann erhöht das die Performance der Crowd Integration.

Sie können auf der Seite über die crowd.properties Datei mehr über die optionalen Einstellungen lesen.


2.2 Konfigurieren Sie Jira für die Verwendung von Crowds Authenticator

Da nun die Crowd Client-Libraries existieren, müssen wir Jira konfigurieren diese zu verwenden.

Beachten Sie: Wenn Sie eine Jira-Instanz migrieren/aktualisieren, die bereits Crowd verwendet, dann müssen Sie die Dateien zusammenführen (nicht überschreiben).

  1. Editieren Sie die Jira Config-Datei JIRA/atlassian-jira/WEB-INF/classes/osuser.xml. Kommentieren Sie jegliche Authentifizierungs-Anbieter aus und entfernen Sie die Kommentarzeichen bei den Crowd-Anbietern bzw. fügen Sie sie hinzu:

    <!-- This is where JIRA's credentials checking can be configured.  For instance, see
    http://www.atlassian.com/software/jira/docs/latest/ldap.html -->
    <opensymphony-user>
      <authenticator class="com.opensymphony.user.authenticator.SmartAuthenticator" />
    
    <!-- You will need to uncomment the Crowd providers below to enable Crowd integration -->
      <provider class="com.atlassian.crowd.integration.osuser.CrowdCredentialsProvider"/>
      <provider class="com.atlassian.crowd.integration.osuser.CrowdAccessProvider"/>
      <provider class="com.atlassian.crowd.integration.osuser.DelegatingProfileProvider">
        <property name="provider-1">com.atlassian.crowd.integration.osuser.CrowdProfileProvider</property>
        <property name="provider-2">com.atlassian.jira.user.ExternalEntityJiraProfileProvider</property>
        <property name="provider-2-exclusive-access">true</property>
      </provider>
    
    <!-- CROWD:START  - The providers below here will need to be commented out for Crowd integration -->
    <!--
      <provider class="com.atlassian.core.ofbiz.osuser.CoreOFBizCredentialsProvider">
        <property name="exclusive-access">true</property>
      </provider>
    
      <provider class="com.opensymphony.user.provider.ofbiz.OFBizProfileProvider">
        <property name="exclusive-access">true</property>
      </provider>
    
      <provider class="com.opensymphony.user.provider.ofbiz.OFBizAccessProvider">
        <property name="exclusive-access">true</property>
      </provider>
    -->
    <!-- CROWD:END -->
    
    </opensymphony-user>
  2. Sehen Sie sich die JIRA/atlassian-jira/WEB-INF/classes/propertyset.xml an. Wenn es dort keinen Eintrag für das CrowdPropertySet gibt, dann geben Sie das folgende <propertyset> Item am Ende der Datei als letztes <propertyset> Item ein:

    <propertyset name="crowd" class="com.atlassian.crowd.integration.osuser.CrowdPropertySet"/>
  3. An diesem Punkt ist Jira für die zentrale Authentifizierung eingerichtet. Wenn Sie wünschen, können Sie nun das Single Sign-On (SSO) für Jira aktivieren. Dadurch wird sichergestellt, dass Jiras Authentifizierungs- und Zugriffsanfragen mithilfe von Seraph ausgeführt werden. Wenn Authentifizierungs- oder Zugriffsanfragen gegen das OSUser Framework durchgeführt werden, wird das Jira Stack die Crowd-Anbieter und Propertyset-Implementierungen aufgerufen.
    Editieren Sie die JIRA/atlassian-jira/WEB-INF/classes/seraph-config.xml Datei. Kommentieren Sie den Authenticator-Knoten aus:

    <!--<authenticator class="com.atlassian.jira.security.login.JiraOsUserAuthenticator"/>-->


    Fügen Sie einen neuen Authenticator, passend zu Ihrer Jira-Version, hinzu:

        • Wenn Sie Jira 4.2.x verwenden:

          <authenticator class="com.atlassian.crowd.integration.seraph.v22.JIRAAuthenticator"/>
        • Wenn Sie JIRA 4.1.2 oder früher verwenden:

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


2.3 (Optional) Abstimmung des Caches

Das Caching auf dem Crowd-Server aktivieren: Wenn das Atlassian-User und Crowd Framework gemeinsam mit Jira verwendet wird, wird ausdrücklich empfohlen, dass das Caching auf dem Crowd-Server aktiviert ist. Mehrere, redundante Aufrufe zum Atlassian-User Framework werden bei jeder Anfrage durchgeführt. Diese Ergebnisse können lokal zwischen den Aufrufen gesichert werden, indem das Caching über das Crowd-Optionsmenü aktiviert wird. Beachten Sie, dass das Caching auf dem Crowd-Server standardmäßig aktiviert ist.

Das Applikations-Caching für Jira aktivieren: Wenn das Applikations-Caching für Jira aktiviert ist, wird Jira alle notwendigen Informationen für die Periode, die in der Cache-Konfiguration definiert sind, beziehen. Lesen Sie die Dokumentation über die Konfiguration des Cachings für eine Applikation. Wenn eine Änderung an den Crowd-Benutzern, -Gruppen und -Rollen vorgenommen werden oder etwas zu ihnen hinzugefügt wird, dann werden diese Änderungen in Jira nicht sichtbar sein bis der Cache für das bestimmte Objekt abgelaufen ist, d. h. für einen bestimmten Benutzer, eine Gruppe oder Rolle.

(Info) Ab Jira 3.13 ist der Standard-Cache auf 2 Stunden gesetzt. In früheren Versionen beträgt der Standardwert für den Applikations-Cache 5 Minuten (300 Sekunden) - die Erhöhung des Wertes auf eine oder zwei Stunden (3600 oder 7200 Sekunden) verbessert die Performance Ihrer Jira-Instanz.


2.4 (Optional) Deaktivieren Sie die Auto-Vervollständigung in Jiras Benutzer-Picker

Um die Performance beim Laden von Seiten in Jira zu verbessern, empfehlen wir Ihnen, dass Sie die Auto-Vervollständigung in Jiras Benutzer-Picker Pop-up-Fenstern deaktivieren. Befolgen Sie den Instruktionen in der Jira Dokumentation (auf Englisch).

Weitere Informationen: Unserer Erfahrung nach wirkt sich das Deaktivieren dieses Features in Jira positiv auf die Performance aus, besonders bei Kunden mit extrem großen Benutzer-Basen. Wenn Sie dieses Feature aktiviert lassen und trotzdem eine ähnliche Performance haben, dann lassen Sie es aktiviert.




Crowd Dokumentation Übersicht:




Crowd Doku

Diese Seite wurde zuletzt am 25.04.2024 geändert.