التخطي إلى المحتوى الرئيسي

Zentao

Zentao هو نظام/أداة إدارة مشاريع رشيقة (scrum)، ولكنه لا يدعم OIDC بحد ذاته. لدمج Zentao مع Casdoor SSO، نحتاج إلى استخدام وحدة OIDC الطرفية الثالثة تسمى zentao-oidc، وسيوضح لك هذا المستند كيفية القيام بذلك.

الخطوة 1: نشر Casdoor و Zentao

أولاً، نشر Casdoor وZentao. بعد نشر ناجح، تأكد من:

  1. يمكن تسجيل الدخول إلى Casdoor واستخدامه بنجاح.
  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 يقوم بتصفية المعلمات في الرابط ولا يسمح بالمسافات، فأنت بحاجة إلى وضع الكود التالي في نهاية /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. أضف رابط التحويل الخاص بك.إعداد تطبيق Casdoor
  3. أضف المزود الذي تريده واملأ الإعدادات المطلوبة الأخرى.

الخطوة 4: تكوين Zentao

تكوين ملف config.php في دليل oidc.

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

اضبط رابط التحويل الخاص بك في module/oidc في طريقة public function index().

$oidc->setRedirectURL($path."/zentao/oidc-index.html");
ملاحظة

الرابط هنا يشير إلى استدعاء طريقة 'index' في وحدة 'oidc'. تحتاج أيضًا إلى تعيين فاصل للمتغيرات. بشكل افتراضي، يستخدم الإطار شرطة ("-"). يرجى الرجوع إلى إطار عمل Zentao الرسمي لمزيد من التفاصيل. "إطار عمل zentaoPHP"