Перейти до основного вмісту

Zentao

Zentao - це система/інструмент управління аджайл (скрам) проектами, але вона сама по собі не підтримує OIDC. Щоб інтегрувати Zentao з Casdoor SSO, нам потрібно використовувати сторонній OIDC модуль під назвою zentao-oidc, і цей документ покаже вам, як це зробити.

Крок 1: Розгортання Casdoor та Zentao

Спочатку розгорніть Casdoor та Zentao. Після успішного розгортання, переконайтеся, що:

  1. Касдор може бути залогінений і успішно використаний.
  2. Ви можете успішно залогінитися та використовувати Zentao.

Крок 2: Інтеграція стороннього модуля Zentao OIDC

Встановіть zentao-oidc, запустивши наступну команду:

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

Або ви можете завантажити ZIP-архів та розпакувати його.

Цей модуль використовується для інтеграції Zentao з SSO для OpenId. Ось як його використовувати:

  1. Скопіюйте весь каталог oidc до модуля Zentao та використовуйте його як модуль Zentao. Перейменуйте завантажений пакет на "oidc".

  2. Налаштуйте фільтр.

    Оскільки фреймворк Zentao фільтрує параметри в URL і не дозволяє пробіли, вам потрібно додати наступний код в кінець /config/my.php.

    $filter->oidc = new stdclass();
    $filter->oidc->index = new stdclass();
    $filter->oidc->index->paramValue['scope'] = 'reg::any';
  3. Змініть /module/commom/model.php.

    Додайте 'oidc' до списку анонімного доступу та додайте рядок до методу isOpenMethod у model.php.

    public function isOpenMethod($module, $method)
    {
    if ($module == 'oidc' and $method == 'index') {
    return true;
    }
    }
  4. Якщо ви не хочете, щоб з'являвся екран входу Zentao, перейдіть безпосередньо на екран входу Casdoor.

    Змініть останній рядок коду в public function checkPriv() у /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. Змініть метод setSuperVars() всередині framework/base/router.class.php та закоментуйте наступні вирази.

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

Крок 3: Налаштування додатку Casdoor

  1. Створіть новий додаток Casdoor або використовуйте існуючий.
  2. Додайте ваш URL перенаправлення.Налаштування додатку Casdoor
  3. Додайте провайдера, якого ви хочете, та заповніть інші необхідні налаштування.

Крок 4: Налаштування Zentao

Налаштуйте файл config.php у каталозі oidc.

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

Встановіть ваш URL перенаправлення в module/oidc у методі public function index().

$oidc->setRedirectURL($path."/zentao/oidc-index.html");
примітка

URL тут означає виклик методу 'index' у модулі 'oidc'. Вам також потрібно встановити роздільник змінних. За замовчуванням фреймворк використовує дефіс ("-"). Будь ласка, зверніться до офіційного фреймворку Zentao для отримання додаткової інформації. "Фреймворк zentaoPHP"