- Wählen Sie im Menü File > New > Other....
Wählen Sie im folgenden Dialog Authentication Provider und klicken Sie Next >.
- Geben Sie bei Name die Bezeichnung für Ihren Authentication Provider an, z.B. ExampleAuthenticationProvider.
Zugangsdaten via LDAP
- Selektieren Sie bei Provider type > LDAP.
Wählen Sie im folgenden Dialog Authentication Provider und klicken Sie Next >.
Zugangsdaten via Datenbank
Als Datenquelle kann eine Datenbanktabelle verwendet werden. Das Datenmodell dafür kann frei defniert werden, lediglich die Datenfelder USERNAME und PASSWORD müssen vorhanden sein.
- Selektieren Sie bei Provider type > Database.
Klicken Sie Next >.
- Wählen Sie bei Entity ein bereits existierendes Entity für die Benutzerdaten aus oder klicken Sie auf /wiki/spaces/DOC/pages/31850645 um ein neues Entity User mit den Attributen username vom Typ String sowie password vom Typ byte anzulegen.
- Wählen Sie bei Settings den Verschlüsselungs-Algorythmus aus, z.B. MD5.
- Klicken Sie auf Finish.
Optionen:
MD5 - Message Digest Algorithm ist eine Hashfunktion, die aus einem Passwort einen 128-Bit-Hashwert erzeugt. Gilt jedoch als nicht mehr sicher.
// Example RapidClipse cb9086f37a2e96bd5e4507f869888261
SHA1 - Secure Hash Algorithm 1 ist eine Hashfunktion, die aus einem Passwort einen 160-Bit-Hashwert erzeugt.
// Example RapidClipse 64d88c018c7ced7e248e42b48593bd82c5e80ef2
SHA2 - Secure Hash Algorithm 2 ist der aktuell empfohlene Standard für SHA, die aus einem Passwort einen 224-, 256-, 384- oder 512-Bit-Hashwert erzeugt.
// Example RapidClipse eafa795b8ffea05d1c8a7d5142bd4dd50fea3dd447f3585071e5c8b2ef525cef
PBKDF2WithHmacSHA1 - Kombination aus PBKDF2, HMAC und SHA1, die einen 160-Bit-Hahswert erzeugt. PBKDF2 (Password-Based Key Derivation Function 2) ist eine genormte Funktion für die Ableitung eines Schlüssels aus einem Passwort und wird oft für die passwort-basierte Authentifizierung benutzt. HMAC (Keyed-Hash Message Authentication Code) ist ein Message Authentication Code (MAC), dessen Konstruktion auf einer kryptografischen Hash-Funktion basiert. SHA1 ist eine Hashfunktion, die aus einem Passwort einen 160-Bit-Hashwert erzeugt.
// Example RapidClipse eafa795b8ffea05d1c8a7d5142bd4dd50fea3dd447f3585071e5c8b2ef525cef
Ergebnis:
Project Management > Entities - Es wurde die Entity-Klasse User.java mit den Attributen username und password generiert oder durch Auswahl ein entsprechendes verwendet.
Project Management > Data Access - Es wurde die Entity-Klasse UserDAO.java generiert oder durch Auswahl ein entsprechendes verwendet.
Project Management > Business Objects - Es wurde die Klasse ExampleAuthenticationProvider.java generiert.
package com.company.example.business; import com.company.example.entities.User; import com.xdev.security.authentication.Authenticator; import com.xdev.security.authentication.AuthenticatorProvider; import com.xdev.security.authentication.CredentialsUsernamePassword; import com.xdev.security.authentication.jpa.JPAAuthenticator; import com.xdev.security.authentication.jpa.HashStrategy.MD5; public class ExampleAuthenticationProvider implements AuthenticatorProvider<CredentialsUsernamePassword, CredentialsUsernamePassword> { private static ExampleAuthenticationProvider INSTANCE; public static ExampleAuthenticationProvider getInstance() { if (INSTANCE == null) { INSTANCE = new ExampleAuthenticationProvider(); } return INSTANCE; } private JPAAuthenticator authenticator; private ExampleAuthenticationProvider() { } @Override public Authenticator<CredentialsUsernamePassword, CredentialsUsernamePassword> provideAuthenticator() { if (this.authenticator == null) { this.authenticator = new JPAAuthenticator(User.class); this.authenticator.setHashStrategy(new MD5()); } return this.authenticator; } }