La mia azienda sviluppa e vende un'applicazione SaaS con centinaia di clienti. Alcuni dei nostri clienti ci hanno chiesto di supportare l'integrazione LDAP per l'autenticazione degli account utente rispetto ai loro sistemi esistenti invece di dover creare un altro account di accesso per ciascuno dei loro dipendenti. Sembra che questo si chiami Single Sign On (SSO) in molti posti? Naturalmente il nostro sistema ha già un meccanismo per la gestione dei profili degli account utente e l'autenticazione di tali account utente dalla nostra pagina di accesso.Come creare l'integrazione LDAP per la mia app Web?
Siamo un po 'ignoranti su LDAP e siamo confusi su alcune cose. Per favore, scusate il possibile uso di termini errati (ricordate, siamo un po 'ignoranti su questo).
pensiamo di capire le basi di come questo potrebbe funzionare:
- Il nostro cliente configura il proprio account per "attivare" la funzione "autenticazione remota" per il proprio account. Forniscono l'URL remoto che autentificherà i propri utenti.
- Gli utenti accedono alla nostra pagina di accesso e tentano un accesso utilizzando il nome utente e la password forniti dal sistema LDAP dell'azienda.
- La nostra pagina di accesso inoltrerà in modo sicuro le credenziali di accesso (presumibilmente crittografate e hash in un formato concordato) all'URL "autenticazione remota" fornita dal nostro cliente.
- Lo script del cliente autenticherà l'utente e quindi lo reindirizzerà al nostro sito con lo "stato di autenticazione".
- La nostra pagina analizzerà lo "stato di autenticazione" e accetterà l'utente come connesso o meno.
Supponendo che le informazioni di cui sopra siano anche parzialmente corrette, avremo comunque bisogno che ogni utente abbia un account nel nostro sistema. Non avremo bisogno di un modo per sincronizzare i profili dei nostri account utente con i profili utente nella directory LDAP? Si tratta semplicemente di un "ID esterno" che fa riferimento all'ID dell'utente nel sistema LDAP? Verrà quindi richiesto che lo script di "autenticazione remota" del cliente fornisca tale ID al nostro sistema in modo da sapere quale account utente nel nostro sistema associare al login?
Cosa ci manca?
A proposito, la nostra piattaforma è IIS, ASP.Net 2.0 e SQL Server 2005.