Wie würden Sie ein System mit folgenden Zielen implementieren:Verwaltung großer Benutzerdatenbanken für Single-Signon
- verwalten Authentifizierung, Genehmigung für Hunderttausende von bestehenden Benutzer zur Zeit eng mit einem integrierten Anwendung des Drittanbieters (Wir möchten diese Nutzer in etwas ausnutzen, das wir verwalten und dafür sorgen, dass unsere Apps dagegen arbeiten, und unsere Drittanbieter arbeiten dagegen).
- Verwalten von Profilinformationen, die mit diesen Benutzern verknüpft sind
- Muss von einer beliebigen Anzahl von Webanwendungen auf fast jeder Plattform (Windows, * nix, PHP, ASP/C#, Python/Django usw.) zugegriffen werden können.
Hier einige Beispielimplementierungen:
- LDAP/AD-Server alles zu verwalten. Verwenden Sie ein benutzerdefiniertes Schema für alle Profildaten. Alles kann sich gegen LDAP/AD authentifizieren und wir können alle Arten von ACLs und Profildaten in einem benutzerdefinierten Schema speichern.
- Verwenden Sie LDAP/AD nur für die Authentifizierung, verknüpfen Sie LDAP-Benutzer mit einer Datenbank (MSSQL/PostgreSQL/MySQL) oder einer dokumentenbasierten Datenbank (CouchDB, SimpleDB usw.) zu einem äußerst robusten Profil-/Autorisierungsserver. Benutze LDAP für die Autorisierung, dann drücke die DB für fortgeschrittenere Sachen.
- Verwenden Sie eine traditionelle Datenbank (relational oder Dokument) für alles.
Sind diese drei die besten? Gibt es andere Lösungen, die den oben genannten Zielen entsprechen und einfacher zu implementieren sind?
** Ich sollte hinzufügen, dass fast alle Anwendungen, die gegen die Benutzerdatenbank authentifiziert werden, unter unserer Kontrolle sind. Die wenigen Außenseiter werden die Anwendungen sein, aus denen wir die aktuelle Benutzerdatenbank entfernen, und vielleicht 1 oder 2 andere. Nichts so weit, dass ein openID-Server benötigt wird.
Es ist auch wichtig zu wissen, dass viele dieser Benutzer diese Konten seit 5-8 Jahren haben und ihre Logins und Passwörter kennen, und so weiter.
Ich sollte hinzufügen, dass fast alle Anwendungen, die gegen die Benutzerdatenbank authentifizieren werden, unter unserer Kontrolle sein wird. Nichts so weit, dass ein openID-Server benötigt wird. Es ist auch wichtig zu wissen, dass viele dieser Benutzer diese Konten für 5-8 Jahre gehabt haben und wissen, dass ihre Logins und Passwörter –