ฉันได้ตั้งค่า Gravitee APIM 3x (เกตเวย์, ส่วนที่เหลือของ API, คอนโซลและพอร์ทัล)
ทำงานได้ดี เมื่อพยายามแทนที่การตรวจสอบความถูกต้องของหน่วยความจำด้วยการตรวจสอบสิทธิ์ LDAP (FreeIPA) ฉันสามารถรับบริการเพื่อเข้าสู่ระบบของผู้ใช้ แต่พวกเขาไม่ได้รับบทบาท
เหตุผลคือใช้ DN แบบเต็มของผู้ใช้ในฟิลด์ memberUid ซึ่งมีเพียงชื่อผู้ใช้เท่านั้น
ความคิดเห็นจาก @abbra ทำให้ฉันรู้ว่าฉันลืมไปแล้วว่ากลุ่มของฉันจัดกลุ่มอย่างไร เรามีกลุ่มฐานชุดหนึ่ง เรียกว่าบทบาท บทบาทเหล่านี้เป็นสมาชิกของกลุ่มต่างๆ ดังนั้นเมื่อค้นหาฟิลด์สมาชิกใน cn=กลุ่ม,cn=บัญชี,dc=somedomain,dc=com
สำหรับกลุ่ม Gravitee จะหมายถึงกลุ่มอื่นที่มี สมาชิก
เขตข้อมูลกับผู้ใช้ที่สมบูรณ์ dn
.
ดังนั้นคำถามจึงกลายเป็นว่า ฉันจะทำให้การค้นหากลุ่มวนซ้ำใน Gravitee ได้อย่างไร เป็นไปได้ไหม หรือฉันต้องเพิ่มสมาชิกแต่ละคนลงในกลุ่มแทน
ฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันทิ้งคำถามเดิมที่ขีดฆ่าไว้
04 ก.พ. 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.646 [gravitee-listener-44] DEBUG o.s.s.l.u.DefaultLdapAuthoritiesPopulator - ค้นหาบทบาทสำหรับผู้ใช้ 'my_user', DN = 'uid=my_user,cn =ผู้ใช้,cn=บัญชี,dc=somedomain,dc=com' พร้อมตัวกรอง (&(objectClass=posixGroup)(memberUid={0})) ในฐานการค้นหา 'cn=groups,cn=compat'
4 ก.พ. 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.647 [gravitee-listener-44] DEBUG o.s.s.l.SpringSecurityLdapTemplate - การใช้ตัวกรอง: (&(objectClass=posixGroup)(memberUid=uid=my_user, cn=ผู้ใช้,cn=บัญชี,dc=somedomain,dc=com))
4 ก.พ. 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.713 [gravitee-listener-44] DEBUG o.s.s.l.u.DefaultLdapAuthoritiesPopulator - บทบาทจากการค้นหา: []