เรามีสถานการณ์ที่เรามีแอปพลิเคชันที่ยอมรับเฉพาะใบรับรองไคลเอนต์สำหรับการตรวจสอบสิทธิ์ และการตั้งค่านั้นทำงานได้ดี (กำหนดค่าใน Apache VHost) อย่างไรก็ตาม ในฐานะที่เป็นข้อกำหนดใหม่ส่วนหนึ่ง เราต้องการตรวจสอบว่าผู้ใช้นั้นเป็นส่วนหนึ่งของกลุ่มใดกลุ่มหนึ่งใน LDAP หรือไม่ และหากไม่ใช่ คำขอก็จะถูกปฏิเสธ
โปรดทราบว่าข้อความที่ตัดตอนมาด้านล่าง เรากำลังลองกับผู้ใช้แยกต่างหากที่ส่งในส่วนหัวของคำขอ แตกไฟล์นั้นแล้วตรวจสอบกับ LDAP อย่างไรก็ตาม ตรรกะยังคงเหมือนเดิม
ปัญหาคือ LDAP Search ไม่ได้รับการเรียกใช้เลย
<LocationMatch ^>
allow from all
SSLOptions +StdEnvVars
SSLRequireSSL
SSLRenegBufferSize 10485760
SSLRequire %{SSL_CLIENT_S_DN_CN} in {"myusername"}
SSLVerifyClient require
SSLVerifyDepth 5
SSLUserName SSL_CLIENT_S_DN_CN
SetEnvIf x-user ".+" X_USER=$0
#AuthName "Apache2 LDAP Check"
#AuthType Basic
AuthBasicProvider ldap
LDAPReferrals Off
AuthLDAPUrl ldap://ldap.corp.orgn.com:389/dc=corp,dc=orgn,dc=com?sAMAccountName?sub?(objectClass=*)
AuthLDAPBindDN "[email protected]"
AuthLDAPBindPassword "asdfg"
Require valid-user
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
#Require ldap-group CN=orgn-users,OU=Standard,OU=Security,OU=Groups,DC=corp,DC=orgn,DC=com
#Require ldap-filter "&(objectClass=user)(sAMAccountName=%{X_USER})(memberof=CN=orgn-users,OU=Standard,OU=Security,OU=Groups,DC=corp,DC=orgn,DC=com)"
RequestHeader set userid "%{X_USER}e"
</LocationMatch>