Commit 27791b112062394ee6a2d2588d0889adf8f72acf

Authored by Thomas Ziemer
1 parent 7a765da2

style: User-Model in PlantUML modelliert

src/main/java/net/ziemers/swxercise/lg/model/user/Model.puml 0 → 100644
  1 +@startuml
  2 +
  3 +class BaseEntity {
  4 + - Long id
  5 +}
  6 +
  7 +class User {
  8 + - String firstname
  9 + - String lastname
  10 +}
  11 +class Profile {
  12 + - String username
  13 + - String passwordHash
  14 + - String salt
  15 + - PasswordHashAlgorithm hashAlgorithm
  16 + - String mailaddress
  17 + + String setPassword(String password)
  18 + - String getPasswordHash()
  19 + + boolean isValidPassword(String password)
  20 + - void setPasswordHash()
  21 +}
  22 +
  23 +class Role {
  24 + - String name
  25 + - Collection<RightState> rights
  26 +}
  27 +
  28 +class Address {
  29 + - String street
  30 + - String zipcode
  31 + - String city
  32 + - String country
  33 +}
  34 +
  35 +enum PasswordHashAlgorithm {
  36 + SHA512
  37 +}
  38 +
  39 +enum RightState {
  40 + NOT_LOGGED_IN
  41 + LOGGED_IN
  42 + ADMIN
  43 +}
  44 +
  45 +BaseEntity <|-- User : MappedSuperClass
  46 +User "1" --> "0..1" Profile
  47 +User "1" --> "0..1" Address
  48 +Profile "*" --> "1" Role
  49 +Profile ..> "1" PasswordHashAlgorithm
  50 +Role "*" --> "1" Role : parent
  51 +Role ..> "*" RightState
  52 +
  53 +@enduml
0 \ No newline at end of file 54 \ No newline at end of file
src/main/java/net/ziemers/swxercise/lg/model/user/Profile.java
@@ -145,6 +145,11 @@ public class Profile extends BaseEntity { @@ -145,6 +145,11 @@ public class Profile extends BaseEntity {
145 return passwordHash; 145 return passwordHash;
146 } 146 }
147 147
  148 + /**
  149 + * Setzt das im Profil hinterlegte Kennwort. Es wird darin sicher verschlüsselt abgelegt.
  150 + *
  151 + * @param password das gewünschte Kennwort
  152 + */
148 public void setPassword(String password) { 153 public void setPassword(String password) {
149 // das Klartextkennwort wird niemals gespeichert! 154 // das Klartextkennwort wird niemals gespeichert!
150 this.passwordHash = cryptString(password); 155 this.passwordHash = cryptString(password);
@@ -154,6 +159,12 @@ public class Profile extends BaseEntity { @@ -154,6 +159,12 @@ public class Profile extends BaseEntity {
154 this.passwordHash = passwordHash; 159 this.passwordHash = passwordHash;
155 } 160 }
156 161
  162 + /**
  163 + * Vergleicht das übergebene Kennwort mit dem im Profil hinterlegten.
  164 + *
  165 + * @param password das Klartext-Kennwort, mit dem das im Profil hinterlegte verglichen werden soll
  166 + * @return <code>true</code>, wenn die Kennwörter identisch sind.
  167 + */
157 public boolean isValidPassword(final String password) { 168 public boolean isValidPassword(final String password) {
158 final String passwordHash = cryptString(password); 169 final String passwordHash = cryptString(password);
159 170