erweiterung b2b usermanagement / ldap-anbindung dirk winkler [email protected]
TRANSCRIPT
Erweiterung B2B Usermanagement / LDAP-AnbindungDirk Winklerdwinkler@next-level-integration.comwww.next-level-integration.com
2
Aktuelle Systemarchitektur für B2B-Login
Motivation für Umstellung / Erweiterung
Erweiterte Systemarchitektur
Authentifizierungsszenarien (inkl. Fallbacks)
Autorisierung (Rollen)
Live-Demo zur Konfiguration
Fragen, Feedback, Details
Inhalt
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
3next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
Tomcat
B2B
Datenbank
Zugriff per JDBC
BASIC-Authentication
B2B-Rollen
Zuordnung zu Benutzern
tomcat-users.xml:- Benutzer + Passwort
Benutzername und Passwort werden in tomcat-users.xml gespeichert
Pflege manuell in Datei
Passwort im Klartext
• Zuordnung von Benutzern zu B2B-Rollen wird in B2B-Datenbank gespeichert
Pflege über B2B-Frontend
Authentifizierung per Basic-Authentication
Benutzername und Passwort werden Base64-encodiert im HTTP Header abgelegt
Benutzer
Browser
http
Systeme
http
Berechtigungsprüfung
Bestehende Architektur
4
Konfigurierbare und erweiterbare AuthentifizierungsarchitekturAuf Projekt-Basis können beliebige Anmeldeverfahren und Fallback-Szenarien implementiert werden
Authentifizierungskonfiguration ist unabhängig vom B2B-Standard (Einspielen von Patches ohne Nachkonfiguration)
Verbesserter Standard-AuthentifizerungsmechanismusAdministrierbarkeit (tomcat-users.xml)
Datenschutz / Sicherheit (Klartext-Passworte)
LDAP-AnbindungBenutzer
Gruppenmitgliedschaften
Motivation für Umstellung / Erweiterung
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
5
Systemarchitektur (Übersicht)
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
Tomcat
BenutzerBrowser
B2B
Datenbank
Zugriff per JDBC
Servlet-Filter (CAS Client) CASLogin Form
DB-Benutzer + Passwort (verschlüsselt)
B2B-Rollen
Zuordnung zu DB-Benutzern
Datenbank-Benutzer / -Passwort
http RedirectBenutzername und Passwort werden in B2B-Datenbank gespeichert
Pflege über B2B-Frontend
Passwort in verschlüsselter Form
– Authentifizierung über Central Authentication Service (CAS)
Standard: Login-Formular zur Eingabe von Benutzername und Passwort
Prüfung und Ausstellung eines Anmelde-Tokens
Login Process
Redirect mit Anmelde-Token
6
CAS wird als zusätzliche J2EE-Applikation neben B2B deploytKonfiguration des Authentifizierungsszenarios (Kunden-spezifisch in XML)
Anpassung Login-Formular (Look & Feel)
B2B J2EE-Applikation wird per Servlet-Filter (CAS Client) geschütztPrüfung, ob valides Anmelde-Token vorliegt
Falls nicht, Redirect auf CAS
Bei gültigem Anmelde-Token, Bereitstellung des Benutzernamens über getRemoteUser() -> vgl. Java Servlet API
Erweiterung B2B-UsermanagementVerwaltung von Benutzern aus Datenbank und LDAP
Zuordnung von B2B-Rollen zu LDAP-Gruppen
Konfiguration des LDAP-Zugriffs
Beschreibung der Lösung
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
7
Systemarchitektur (Detail)
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
Tomcat
Benutzer
Browser
B2B
ActiveDirectory
Windows-Benutzer
Zugriff per LDAP
Datenbank
Zugriff per JDBC
Servlet-Filter(CAS Client)
CAS
Login Form
AD-Gruppen
DB-Benutzer + Passwort (Notfall-Benutzer)
B2B-Rollen
Zuordnung zu AD-Gruppen
Zuordnung zu DB-Benutzern
Windows-Benutzer / -Passwort
Datenbank-Benutzer / -Passwort
http
Login Process
Redirect
Redirect mit Anmelde-Token
Systeme
BASICAuthentication
/as2/receive
/org.b2bbp.admin/monitor
Berechtigungsprüfung
http
Kerberos SSO
8
Default:Single-Sign-On per SPNego/Kerberos
• Fallback 1:• Formular-basierte Anmeldung mit Windows-Benutzername und –Kennwort (LDAP)• Wird ausgeführt, wenn SSO per SPNego/Kerberos fehlschlägt (z.B. wegen falscher
Konfiguration des Client-PCs)
• Fallback 2:• Formular-basierte Anmeldung mit Benutzer aus B2B-Datenbank• Für Notfallbenutzer, Administrator, externe Berater ohne Windows-Account
Mögliches Authentifizierungsszenario
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
Kunden-spezifischeKonfiguration in CAS
- optional -
- optional -
9
Zuordnung von LDAP-Gruppen zu B2B-Rollen in B2BSpeicherung der Zuordnung in B2B-Datenbank
Pflege über B2B-Frontend
• Windows-Benutzer erhalten die B2B-Rollen implizit über die Mitgliedschaft zu einer LDAP-Gruppe
• Pflege von Gruppenmitgliedschaften im Active Directory (Zuordnung von Windows-Benutzer zu LDAP-Gruppe)
(Notfall-)Benutzern aus B2B-Datenbank werden B2B-Rollen direkt zugeordnet (wie bisher)
Autorisierung
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
Administrationim B2B-Standard
10
Neue DB-Tabelle, Benutzer anlegen und Rolle zuordnen
Tomcat-Authentifizierung umstellen auf B2B-Datenbank
CAS deployen (cas.war)
CAS konfigurieren (deployerConfigContext.xml)
Anmeldung mit /sectest prüfenBasic Authentication
CAS Login
b2b-engine.war deployen (Build-Property "useCasAuthentication=true")
B2B konfigurieren (Global Properties)
LDAP-Anbindung konfigurieren (CAS + B2B)
CAS Details (Session-Timeouts, Secure Cookie, Branding Login-Form)
Live-Demo
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice
11
Central Authentication Servicehttp://www.jasig.org/cas
http://www.ja-sig.org/wiki/display/CASUM/Home
http://www.ja-sig.org/wiki/display/CASUM/SPNEGO
Links
next-level-integration.com | next level portals – next level search – next level ccm – b2b by practice