Zentao
Zentao - это система/инструмент управления проектами по методологии agile (scrum), но сама по себе не поддерживает OIDC. Чтобы интегрировать Zentao с Casdoor SSO, нам нужно использовать сторонний OIDC модуль под названием zentao-oidc, и этот документ покажет вам, как это сделать.
Шаг 1: Развертывание Casdoor и Zentao
Во-первых, разверните Casdoor и Zentao. После успешного развертывания убедитесь, что:
- Casdoor может быть успешно залогинен и использован.
- Вы можете успешно залогиниться и использовать Zentao.
Шаг 2: Интеграция стороннего модуля OIDC Zentao
Установите zentao-oidc, запустив следующую команду:
git clone https://github.com/casdoor/zentao-oidc.git
Как вариант, вы можете скачать ZIP и распаковать его.
Этот модуль используется для интеграции Zentao с SSO для OpenId. Вот как его использовать:
Скопируйте весь каталог
oidc
в модуль Zentao и используйте его как модуль Zentao. Переименуйте скачанный пакет в "oidc".Настройте фильтр.
Поскольку фреймворк Zentao фильтрует параметры в URL и не допускает пробелов, вам нужно добавить следующий код в конец
/config/my.php
.$filter->oidc = new stdclass();
$filter->oidc->index = new stdclass();
$filter->oidc->index->paramValue['scope'] = 'reg::any';Измените
/module/commom/model.php
.Добавьте 'oidc' в список анонимного доступа и добавьте строку в метод
isOpenMethod
файлаmodel.php
.public function isOpenMethod($module, $method)
{
if ($module == 'oidc' and $method == 'index') {
return true;
}
}Если вы не хотите, чтобы появлялся экран входа 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")));Измените метод
setSuperVars()
внутриframework/base/router.class.php
и закомментируйте следующие утверждения.public function setSuperVars()
// unset($_REQUEST);
Шаг 3: Настройка приложения Casdoor
- Создайте новое приложение Casdoor или используйте существующее.
- Добавьте ваш URL перенаправления.
- Добавьте провайдера, который вы хотите, и заполните другие необходимые настройки.
Шаг 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框架"