2016-09-26 3 views
1

Meine Webanwendung ist derzeit so konfiguriert, dass sie sich zur Benutzervalidierung mit LDAP verbindet, ohne auf die Einstellungen des Anwendungsservers angewiesen zu sein. Mit anderen Worten, meine Anwendungen verwenden Naming Params, um sich mit LDAP zu verbinden, daher ist es ein Agnostiker für den Anwendungsserver, d. JBoss oder Websphere.Validierung des Anwendungsbenutzers mit LDAP

Naming params verwendet werden, sind wie folgt: ldapurl ldapPrincipal (bind user) ldapCredentials (bind Benutzer-Passwort) LdapAuthentication ldapSearchBase

Die Anforderung ist jetzt verschlüsselte Passwort in die ldapCredentials param Namensgebung zu ermöglichen. Ich habe einen Ausweg aus dieser Situation ist benutzerdefinierte SecurityLoginModule verwenden, um das Passwort zu verschlüsseln und an die Anwendung mit dem Naming-Parameter zu liefern. Meine Anwendung würde es dann entschlüsseln und dann mit der LDAP-Benutzervalidierung fortfahren. Dies führt jedoch zu einem zusätzlichen Anwendungsinstallationsschritt.

Also habe ich mich gefragt, ob es eine Möglichkeit gibt, Anwendungsserver-Sicherheitsdomäne (oder eine andere Weise) zu verwenden, um die Benutzeranmeldeinformationen in gesicherter Weise auf dem Anwendungsserver zu speichern, und eine spätere Anwendung es zum Zeitpunkt der Benutzerüberprüfung mit abholen würde LDAP ohne serverspezifischen Code in meiner Anwendung zu schreiben. Ich weiß, dass wir die Sicherheitsdomäne verwenden können, um eine Datenquellenverbindung herzustellen, ohne serverspezifischen Code zu schreiben. Aber wenn ich das für LDAP mache, dann mache ich Server mit LDAP zu sprechen, was nicht das ist, was ich suche. Grundsätzlich können weiterhin Verbundbenutzer anstelle von LDAP verwendet werden.

+0

Wenn Sie beschließen, Anmeldeinformationen zu speichern, können Sie Authentifizierungsalias in WAS verwenden - siehe http://stackoverflow.com/questions/4663534/how-to-access-authentication-alias-from-ejb-deployed -to-websphere-6-1/6355992 # 6355992 – fnt

Antwort

2

Alle ordentlichen Anwendungsserver (einschließlich JBoss und WebSphere) verfügen über eine vom Server bereitgestellte LDAP-Registrierung, die Sie ohne anwendungsspezifischen Code konfigurieren und verwenden können. Ich empfehle Ihnen, diesen zu verwenden, statt Ihren eigenen ldap-Verbindungscode zu schreiben.

In Bezug auf die Verschlüsselung: