Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler [email protected] .

12
Erweiterung B2B Usermanagement / LDAP- Anbindung Dirk Winkler [email protected] www.next-level-integration.com

Transcript of Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler [email protected] .

Page 1: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

Erweiterung B2B Usermanagement / LDAP-AnbindungDirk Winklerdwinkler@next-level-integration.comwww.next-level-integration.com

Page 2: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@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

Page 3: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 4: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 5: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 6: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 7: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 8: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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 -

Page 9: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 10: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 11: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

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

Page 12: Erweiterung B2B Usermanagement / LDAP-Anbindung Dirk Winkler dwinkler@next-level-integration.com .

12

Dirk Winkler

[email protected]

Kontakt

next-level-integration.com | B2B by Practice