2
ทำความเข้าใจเกี่ยวกับการจัดการเซสชันของ Drupal และการตรวจสอบผู้ใช้
ฉันมีข้อกำหนดที่ฉันต้องแทนที่การตรวจสอบผู้ใช้เริ่มต้นด้วยการตรวจสอบของเซิร์ฟเวอร์กลางเช่นเซิร์ฟเวอร์ SSO ด้วยการแก้ไขข้อบกพร่อง Drupal ฉันรู้ว่าการจัดการเซสชันทั้งหมดเกิดขึ้นในincludes/session.incไฟล์ ฉันต้องการตรวจสอบสิทธิ์ตามที่แสดงในภาพ: สถานการณ์: เข้าสู่ระบบ รายละเอียดของขั้นตอนจะเป็น: แทนที่ฟอร์มล็อกอินเพื่อส่งชื่อผู้ใช้และรหัสผ่านไปยังเซิร์ฟเวอร์ SSO ( ไม่ใช่บน Drupalแต่เป็นบน. NET) ตรวจสอบผู้ใช้บนเซิร์ฟเวอร์ SSO โดยใช้ฐานข้อมูลของไซต์นั้น และส่งคำตอบกลับไปยังหน้า PHP ที่กำหนดเองของเว็บไซต์ของฉัน (หรือแบบฟอร์มโดยโมดูล?) ใช้การตอบกลับระบุผู้ใช้ในตารางผู้ใช้และสร้างเซสชันสำหรับผู้ใช้นั้นโดยไม่ตรวจสอบรหัสผ่าน (เพราะจะหมายถึงการพิสูจน์ตัวตนสองครั้ง) โดยค่าเริ่มต้น Drupal ชุดคุกกี้ที่มีชื่อของตัวแปรและมีความคุ้มค่า$insecure_session_name $sidฉันต้องการ Drupal ไม่ให้ตั้งค่าคุกกี้ที่นี่แทนส่งค่าของตัวแปรไปยังเซิร์ฟเวอร์ SSO เซิร์ฟเวอร์ SSO จะรับค่าสร้างคุกกี้และวางในโดเมนหลักdomain.com(เพื่อเตือนให้ทั้งคู่my websiteและsso serverอยู่ในโดเมนย่อยของโดเมนหลักซึ่งไม่ได้อยู่ใน Drupal ด้วย) จากนั้นเว็บไซต์ drupal สามารถเข้าสู่ระบบโดยใช้คุกกี้นั้น ฉันรู้ว่ามันเป็นคำถามที่ยากมากฉันแค่มองหาพอยน์เตอร์ว่าจะเริ่มอย่างไรดี? ตามที่พวกเขาพูดว่า "คุณไม่ควรแฮ็คหลัก" ดังนั้นคำถามของฉันคือ: ฉันควรค้นหาเพื่อทำความเข้าใจว่า Drupal authentication และการจัดการเซสชันทำงานในเชิงลึกได้อย่างไร มีวิธีที่ฉันสามารถเรียกใช้ฟังก์ชั่นในการincludes/session.incใช้ …