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

LDAP Server

ระบบต่างๆ เช่น Nexus รองรับการตรวจสอบสิทธิ์ด้วย LDAP Casdoor ยังได้ทำการพัฒนา LDAP server แบบง่ายๆ ที่รองรับการทำงานของ bind และ search

เอกสารนี้อธิบายวิธีการเชื่อมต่อกับ LDAP server ใน Casdoor และการทำการตรวจสอบสิทธิ์การเข้าสู่ระบบแบบง่ายๆ

LDAP Server Port

LDAP server ฟังที่พอร์ต 389 โดยค่าเริ่มต้น คุณสามารถเปลี่ยนพอร์ตเริ่มต้นได้โดยการแก้ไขค่า ldapServerPort ใน conf/app.conf

วิธีการทำงาน

คล้ายกับ LDAP client ใน Casdoor, ผู้ใช้ใน LDAP server ล้วนเป็น subclasses ของ posixAccount

เมื่อ server ได้รับชุดข้อมูลที่ถูกส่งมาโดย LDAP, มันจะทำการวิเคราะห์ cn และ ou, ที่ cn หมายถึงชื่อผู้ใช้ และ ou หมายถึงชื่อองค์กร dc ไม่สำคัญ

หากเป็นการทำงานของ bind, server จะใช้ Casdoor เพื่อตรวจสอบชื่อผู้ใช้และรหัสผ่าน และให้สิทธิ์ผู้ใช้ใน Casdoor

หากเป็นการทำงานของ search, server จะตรวจสอบว่าการทำงานของ search นั้นถูกต้องตามกฎหมายหรือไม่, ตามสิทธิ์ที่ได้รับจากการทำงานของ bind, และส่งคำตอบกลับ

ข้อมูล

เราเพียงแค่รองรับ Simple Authentication

วิธีการ Bind

ใน Casdoor LDAP server, เราเพียงแค่รู้จัก DN ที่มีรูปแบบคล้ายกับนี้: cn=admin,ou=built-in,dc=example,dc=com

กรุณาตั้งค่า DN ของผู้ดูแลระบบให้มีรูปแบบดังกล่าวข้างต้น จากนั้น, คุณสามารถใช้ DN นี้เพื่อ bind กับ LDAP server ด้วยรหัสผ่านของผู้ใช้เพื่อเข้าสู่ระบบ Casdoor เพื่อการตรวจสอบ หากการตรวจสอบของ server ประสบความสำเร็จ, ผู้ใช้จะได้รับสิทธิ์ใน Casdoor

เมื่อการทำงานของ bind สำเร็จ, คุณสามารถทำการ search มีความแตกต่างบางอย่างระหว่างการทำงานของ search และ bind

  • เพื่อค้นหาผู้ใช้บางคน, เช่น Alice ภายใต้องค์กร built-in, คุณควรใช้ DN แบบนี้: ou=built-in,dc=example,dc=com, และเพิ่ม cn=Alice ในฟิลด์ Filter
  • เพื่อค้นหาผู้ใช้ทั้งหมดภายใต้องค์กรหนึ่ง, เช่น ผู้ใช้ทั้งหมดใน built-in, คุณควรใช้ DN แบบนี้: ou=built-in,dc=example,dc=com, และเพิ่ม cn=* ในฟิลด์ Filter
  • เพื่อค้นหาผู้ใช้ทั้งหมดในทุกองค์กร (โดยสมมติว่าผู้ใช้มีสิทธิ์เพียงพอ), คุณควรใช้ DN แบบนี้: ou=*,dc=example,dc=com, และเพิ่ม cn=* ในฟิลด์ Filter
  • To search for all users in a specific group, you should use a filter query like this: (memberOf=organization_name/group_name) in the Filter field.