ciao

sto introducendo il supporto a LDAP in alcune applicazioni che ho fatto.

mi domando però come gestire i permessi:

attualmente ho sempre gestito la cosa in questo modo:

- tabella utenti
- tabella gruppi
- tabella relazione_utenti_gruppi
- tabella permessi
- tabella relazione_utenti_permessi
- tabella relazione_gruppi_permessi

in questo modo posso impostare i permessi ad un utente o assegnandolo ad un gruppo, oppure impostandogli dei permessi specifici (che avranno prevalenza su quelli del gruppo)

Il problema è come integrare tutto questo con LDAP.

mi spiego: la cosa + semplice sarebbe aggiungere un campo LDAP nella tabella utenti, che conterrà il percorso di identificazione in una organizzazione LDAP, ad esempio: (cn=prova,ou=test,dc=dominio,dc=com).

poi l'applicazione al momento del login, se le credenziali inviate non sono valide nel db locale le prova su LDAP.
in caso di login positivo l'utente è autenticato.

in questo modo però uso LDAP solo x la password, e sono comunque obbligato a creare un utente nell'applicazione.

io invece vorrei mappare i gruppi ldap con i permessi nella mia applicazione, poi se il login su ldap va a buon fine, a quel punto dovrei essere in grado di capire se l'utente loggato appartiene ad uno dei gruppi ldap mappati sui permessi.

questo è quello che ho in mente.

è così che si fa?
voi che approccio usate?