Puncte:0

LDAP - Adăugați un filtru la o adresă URL LDAP, astfel încât numai utilizatorii care aparțin unui anumit grup să poată accesa aplicația

drapel in

Permitem unei aplicații să utilizeze LDAP.

În configurația aplicației, trebuie să informăm o adresă URL pentru a vă conecta la LDAP. În prezent oferim următoarea adresă URL...

ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid

ÎNTREBARE: Trebuie să adăugăm un filtru la adresa URL de mai sus, astfel încât să fie localizați numai utilizatorii care aparțin grupului „accesgroup” pentru a limita accesul la aplicație numai la utilizatorii care aparțin acestui grup.

Adică ceva asemănător cu asta...

curl "ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid?sub?(&(memberof=cn=accessgroup,ou=groups,dc=domain,dc=abc,dc) =de)(uid=%s))"

Am încercat sute de setări și nimic nu funcționează... =|

GRUP

cn:
grup de acces

gidNumber:
1004

memberUid:
usera
utilizatorb
userc
userd
usere
userf
userg
userh
useri

objectClass:
top
posixGroup

UTILIZATORI

cn:
Scrisoarea utilizatorului A

gecos:
Scrisoarea utilizatorului A

gen:
M

gidNumber:
544

prenume:
Utilizator

gotoLastSystemLogin:
01.01.1970 00:00:00

homeDirectory:
/home/usera

loginShell:
/bin/bash

Poștă:
[email protected]

objectClass:
top
persoană
Persoană organizatorică
inetOrgPerson
gosaAccount
posixAccount
shadowAccount
sambaSamAccount

[...]

uid:
usera

uidNumber:
1004

[...]

Mulțumiri! =D

Puncte:1
drapel us

Cum este creat atributul memberOf al serverului tău LDAP? Ați verificat pentru a vă asigura că utilizatorii dvs. au de fapt atribute memberOf?

În OpenLDAP, de exemplu, memberOf este populat numai dacă utilizați suprapunerea memberof sau le gestionați cu liste dinamice.

Puncte:0
drapel in

SITUATIE:

Problema este că încercăm să filtram folosind grupuri POSIX și nu există o suprapunere specifică pentru asta. Ceea ce există este o soluție oarecum complexă și laborioasă care poate fi observată aici GENERAREA UNUI ATRIBUT DE MEMBRI PENTRU POSIXGROUPS.

SOLUŢIE:

Pentru a rezolva această problemă am implementat o soluție simplă care poate fi văzută aici...

psx-grp-flt - membrii posixGroup ale utilizatorului împotriva pgMemberOf (memberOf)

... care practic este urmatorul...

Un script Python 2.7 simplu care stochează pozixGroup-ul fiecărui utilizator (POSIX asocieri Group) în atributul lor pgMemberOf (memberOf). The scopul este de a activa filtrele de căutare ca mai jos...

MODEL

ldapsearch -x -H 'ldap://127.0.0.1:389' -b 'ou=persoane,dc=domeniu,dc=abc,dc=de'
-D 'cn=admin,dc=domain,dc=abc,dc=de'
-w „mySecretValue”
„(&(pgMemberOf=cn=certaingroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=certainuid))’

EXEMPLU

ldapsearch -x -H '<OPENLDAP_URI>' -b '<PERSONS_OU>,<BASE_DN>'
-D „<ADM_USER_DN>”
-w „<ADM_USER_PASSWORD>”
„(&(pgMemberOf=cn=<PSX_GROUP_CN>,<GROUPS_OU>,<BASE_DN)(uid=<PERSON_UID>))”

Acest script este util pentru cazurile în care avem deja un OpenLDAP instalat și dorim să punem la dispoziție filtre pentru grupurile POSIX care există deja într-un mod foarte simplu și fără a crea noi tipuri de grupuri. De asemenea, util atunci când nu se pot instala suprapuneri sau când acest lucru procesul este prea laborios sau riscant.

Mulțumiri! =D

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.