สำหรับแอปพลิเคชันของฉัน ฉันใช้การรับรองความถูกต้องระดับแอปพลิเคชัน และสำหรับผู้ใช้บางราย ฉันต้องการดึงข้อมูลบางอย่างจากไดเร็กทอรีที่ใช้งานอยู่
ฉันได้ตั้งค่าเซิร์ฟเวอร์ http ด้วยการกำหนดค่า "หลักทรัพย์ภายนอก" ที่ฉันสร้างขึ้นสำหรับไดเรกทอรีที่ใช้งานอยู่ของเรา
ฉันพยายามใช้ฟังก์ชันดังนี้:
let $res := xdmp:ldap-search( "([email protected])", <options xmlns="xdmp:ldap">
<use-appserver-config>true</use-appserver-config>
</options> )
น่าเสียดายที่สิ่งนี้ไม่สามารถส่งคืนสิ่งใดๆ ได้แม้ว่าจะควรจะเป็นก็ตาม และไม่ได้แสดงข้อความแสดงข้อผิดพลาดใดๆ อีกด้วย อย่างไรก็ตาม หากฉันระบุชื่อผู้ใช้ รหัสผ่าน เซิร์ฟเวอร์ ldap ฯลฯ อย่างชัดเจนตามด้านล่างนี้ ก็จะใช้งานได้ (ในกรณีส่วนใหญ่ หากการตอบกลับไม่มีอักขระเน้นเสียง):
let $res := xdmp:ldap-search( "([email protected])"
, <options xmlns="xdmp:ldap">
<username>{ $config:ldap-connection-username }</username>
<password>{ $config:ldap-connection-password }</password>
<server-uri>{ $config:ldap-connection-server }</server-uri>
<search-base>{ $config:ldap-connection-search-base }</search-base>
</options>)
เห็นได้ชัดว่าตัวเลือกจริงไม่ทำงานอย่างที่ฉันคาดไว้ แต่ก็นำมาพิจารณาด้วย เพราะหากฉันตั้งค่าเป็นเท็จ ข้อผิดพลาดจะถูกส่งกลับ
ฉันแน่ใจว่าฉันได้ตั้งค่าสำหรับเซิร์ฟเวอร์ ldap ที่กำหนดค่าบนหน้าผู้ดูแลระบบให้เหมือนกับค่าที่ใช้ในตัวอย่างการทำงานด้านบน
นี่เป็นข้อผิดพลาดหรือไม่? หรือฉันพลาดอะไรไป?
ขอบคุณมากเค