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:
- Casdoor kann erfolgreich eingeloggt und verwendet werden.
- 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:
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.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';Ä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 vonmodel.php
hinzu.public function isOpenMethod($module, $method)
{
if ($module == 'oidc' and $method == 'index') {
return true;
}
}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")));Ändern Sie die Methode
setSuperVars()
innerhalb vonframework/base/router.class.php
und kommentieren Sie die folgenden Aussagen aus.public function setSuperVars()
// unset($_REQUEST);
Schritt 3: Casdoor-Anwendung konfigurieren
- Erstellen Sie eine neue Casdoor-Anwendung oder verwenden Sie eine vorhandene.
- Fügen Sie Ihre Weiterleitungs-URL hinzu.
- 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");
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框架"