Mon entreprise développe et commercialise une application SaaS qui compte des centaines de clients. Certains de nos clients nous ont demandé de prendre en charge l'intégration LDAP pour authentifier les comptes d'utilisateurs par rapport à leurs systèmes existants au lieu de devoir créer un autre compte de connexion pour chacun de leurs employés. On dirait que cela s'appelle Single Sign On (SSO) dans de nombreux endroits? Naturellement, notre système dispose déjà d'un mécanisme de gestion des profils de compte utilisateur et d'authentification de ces comptes utilisateurs depuis notre page de connexion.Comment créer une intégration LDAP pour mon application Web?
Nous sommes un peu ignorants de LDAP et nous sommes confus à propos de certaines choses. Veuillez excuser l'utilisation possible d'une mauvaise terminologie (souvenez-vous, nous sommes un peu ignorants à ce sujet).
Nous pensons que nous comprenons les bases de la façon dont cela pourrait fonctionner:
- Notre client configure son compte pour « activer » la fonction « d'authentification à distance » pour leur compte. Ils fournissent l'URL distante qui authentifiera leurs utilisateurs.
- Les utilisateurs accèdent à notre page de connexion et tentent de se connecter à l'aide de leur nom d'utilisateur et de leur mot de passe fournis par le système LDAP de leur entreprise.
- Notre page de connexion transmet en toute sécurité les informations de connexion (probablement cryptées et hachées dans un format convenu) à l'URL «d'authentification à distance» fournie par notre client.
- Le script du client va authentifier l'utilisateur et ensuite les rediriger vers notre site avec le "statut d'authentification".
- Notre page analyse le "statut d'authentification" et accepte l'utilisateur comme connecté ou non.
En supposant que les informations ci-dessus sont même semi-correctes, nous aurons toujours besoin de chaque utilisateur pour avoir un compte dans notre système. N'aurons-nous pas besoin d'un moyen de synchroniser nos profils de compte utilisateur avec les profils utilisateur dans l'annuaire LDAP? Est-ce simplement un "identifiant externe" qui fait référence à l'identifiant de l'utilisateur dans le système LDAP? Serait-il alors nécessaire que le script «d'authentification à distance» du client fournisse cet ID à notre système afin que nous sachions quel compte d'utilisateur dans notre système associer la connexion?
Qu'est-ce qui manque?
BTW, notre plate-forme est IIS, ASP.Net 2.0 et SQL Server 2005.