Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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. 

    Code Block
    languagejava
    themeConfluence
    // Example RapidClipse
    eafa795b8ffea05d1c8a7d5142bd4dd50fea3dd447f3585071e5c8b2ef525cef
Ergebnis:
  • Project Management >  Entities - Es wird die Entity-Klasse User.java mit den Attributen username vom Typ String sowie password vom Typ byte[] generiert oder durch Auswahl ein bereits existierendes User Entity existierendes Entity verwendet. Image Removed

    EntityAttributeDatentypErklärung
    UserusernameStringSpeichert den Benutzernamen als String.
    passwordbyte[]Speichert das Passwort, i.d.R. verschlüsselt als Byte-Array.
  • Project Management > Data  > Data Access - Es wird die Entity-Klasse UserDAO.java generiert oder durch  generiert. Bei Auswahl eines bereits existierendes User Entity das entsprecehnde UserDAO verwendetexistierenden Entities wird kein DAO generiert

  • Project Management > Business Objects - Es wird die Klasse ExampleAuthenticationProvider.java generiert.

    Code Block
    languagejava
    themeConfluence
    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;
    	}
    }

...