Zum Hauptinhalt springen

Zentao

Zentao ist ein agiles (Scrum) Projektmanagementsystem/-werkzeug, unterstützt jedoch OIDC nicht selbst. Um Zentao mit Casdoor SSO zu integrieren, müssen wir ein Drittanbieter-OIDC-Modul namens zentao-oidc verwenden, und dieses Dokument zeigt Ihnen, wie es geht.

Schritt 1: Casdoor und Zentao bereitstellen

Zuerst Casdoor und Zentao bereitstellen. Nach einer erfolgreichen Bereitstellung stellen Sie sicher:

  1. Casdoor kann erfolgreich eingeloggt und verwendet werden.
  2. Sie können sich erfolgreich einloggen und Zentao verwenden.

Schritt 2: Zentao OIDC Drittanbieter-Modul integrieren

Installieren Sie zentao-oidc, indem Sie den folgenden Befehl ausführen:

git clone https://github.com/casdoor/zentao-oidc.git

Alternativ können Sie das ZIP herunterladen und entpacken.

Dieses Modul wird verwendet, um Zentao mit SSO für OpenId zu integrieren. So verwenden Sie es:

  1. Kopieren Sie das gesamte oidc-Verzeichnis in das Modul von Zentao und verwenden Sie es als Modul von Zentao. Benennen Sie das heruntergeladene Paket in "oidc" um.

  2. Konfigurieren Sie den Filter.

    Da das Zentao-Framework die Parameter in der URL filtert und keine Leerzeichen zulässt, müssen Sie den folgenden Code am Ende von /config/my.php einfügen.

    $filter->oidc = new stdclass();
    $filter->oidc->index = new stdclass();
    $filter->oidc->index->paramValue['scope'] = 'reg::any';
  3. Ändern Sie /module/commom/model.php.

    Fügen Sie 'oidc' zur Liste der anonymen Zugriffe hinzu und fügen Sie eine Zeile zur isOpenMethod-Methode von model.php hinzu.

    public function isOpenMethod($module, $method)
    {
    if ($module == 'oidc' and $method == 'index') {
    return true;
    }
    }
  4. Wenn Sie nicht möchten, dass der Zentao-Anmeldebildschirm erscheint, gehen Sie direkt zum Casdoor-Anmeldebildschirm.

    Ändern Sie die letzte Zeile des Codes in public function checkPriv() in /module/common/model.php.

    //return print(js::locate(helper::createLink('user', 'login', "referer=$referer")));
    return print(js::locate(helper::createLink('oidc', 'index', "referer=$referer")));
  5. Ändern Sie die Methode setSuperVars() innerhalb von framework/base/router.class.php und kommentieren Sie die folgenden Aussagen aus.

    public function setSuperVars()
    // unset($_REQUEST);

Schritt 3: Casdoor-Anwendung konfigurieren

  1. Erstellen Sie eine neue Casdoor-Anwendung oder verwenden Sie eine vorhandene.
  2. Fügen Sie Ihre Weiterleitungs-URL hinzu.Casdoor-Anwendungseinstellung
  3. Fügen Sie den gewünschten Anbieter hinzu und füllen Sie andere erforderliche Einstellungen aus.

Schritt 4: Zentao konfigurieren

Konfigurieren Sie die config.php-Datei im oidc-Verzeichnis.

$config->oidc->clientId = "<Your ClientId>";
$config->oidc->clientSecret = "<Your ClientSecret>";
$config->oidc->issuer = "http://localhost:8000";

Setzen Sie Ihre Weiterleitungs-URL in module/oidc in der Methode public function index().

$oidc->setRedirectURL($path."/zentao/oidc-index.html");
Notiz

Die URL hier bezieht sich auf den Aufruf der 'index'-Methode im 'oidc'-Modul. Sie müssen auch einen Variablentrenner festlegen. Standardmäßig verwendet das Framework einen Bindestrich ("-"). Bitte beziehen Sie sich für weitere Details auf das offizielle Zentao-Framework. "zentaoPHP框架"