Puncte:0

Cum să-l faci pe Gravitee să facă căutări recursive de grup

drapel ru

Am configurat Gravitee APIM 3x (gateway, rest-api, consolă și portal). Funcționează bine. Când încerc să înlocuiesc autentificarea memoriei cu autentificarea LDAP (FreeIPA), pot face ca serviciul să se autentifice, dar nu li se acordă un rol.

Motivul pentru aceasta este că folosește DN-ul complet al utilizatorului în câmpul memberUid, care are doar un nume de utilizator.

Un comentariu de la @abbra m-a făcut să realizez că uitasem cum sunt organizate grupurile mele. Avem un set de grupuri de bază, numiți-le roluri, aceste roluri sunt membri ai diferitelor grupuri. Deci, când căutați câmpul membru în cn=grupuri,cn=conturi,dc=un domeniu,dc=com pentru grupurile Gravitee, se va referi la un alt grup care conține membru câmpuri cu utilizatorul complet dn.

Deci, întrebarea devine acum, cum pot face recursivă căutarea grupului în Gravitee? Este posibil sau trebuie să adaug fiecare membru în mod explicit la grup?

Cum pot rezolva asta? Las întrebarea inițială eliminată.

Feb 04 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.646 [gravitee-listener-44] DEBUG o.s.s.l.u.DefaultLdapAuthoritiesPopulator - Căutarea rolurilor pentru utilizatorul „my_DN-userucn”, =my_userucn =users,cn=accounts,dc=somedomain,dc=com', cu filtru (&(objectClass=posixGroup)(memberUid={0})) în baza de căutare 'cn=groups,cn=compat'
Feb 04 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.647 [gravitee-listener-44] DEBUG o.s.s.l.SpringSecurityLdapTemplate - Folosind filtrul: (&(objectClass)=uposix=Uroup_debug cn=utilizatori,cn=conturi,dc=un domeniu,dc=com))
Feb 04 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.713 [gravitee-listener-44] DEBUG o.s.s.l.u.DefaultLdapAuthoritiesPopulator - Roluri din căutare: []
Puncte:0
drapel ng

memberUid atributul, prin definiție, conține doar uid-ul în sine. Dacă aveți nevoie de un DN complet, ar trebui să utilizați membru atribut în intrarea grupului și membru al în intrarea utilizatorului.

Aș sugera să evitați utilizarea arborelui compat dacă este posibil. Cu siguranță nu amestecați atât subarborele compat, cât și cele normale. Utilizare cn=conturi,dc=un domeniu,dc=com ca DN de bază și apoi utilizați cn=grupuri pentru baza de grupuri, cn=utilizatori pentru baza de utilizatori.

Mogget avatar
drapel ru
M-am uitat la ceea ce ai scris și mi-am dat seama că ceea ce ai scris este corect și grupurile (nu compat) au câmpuri membre, dar în cazul nostru câmpul este „recursiv” în sensul că se referă la un alt grup pentru că încercăm să fim bazat pe rol, în loc să adăugați utilizatori direct în fiecare grup. Deci întrebarea este acum, cum pot face ca secțiunea de grup să caute câmpul membru și, când găsește un alt grup, să verific în el pentru a verifica dacă utilizatorul este membru. Voi actualiza întrebarea pentru a reflecta acest lucru.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.