Перейти к основному содержанию

Zentao

Zentao - это система/инструмент управления проектами по методологии agile (scrum), но сама по себе не поддерживает OIDC. Чтобы интегрировать Zentao с Casdoor SSO, нам нужно использовать сторонний OIDC модуль под названием zentao-oidc, и этот документ покажет вам, как это сделать.

Шаг 1: Развертывание Casdoor и Zentao

Во-первых, разверните Casdoor и Zentao. После успешного развертывания убедитесь, что:

  1. Casdoor может быть успешно залогинен и использован.
  2. Вы можете успешно залогиниться и использовать Zentao.

Шаг 2: Интеграция стороннего модуля OIDC Zentao

Установите 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框架"