ข้ามไปยังเนื้อหาหลัก

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框架"