Commit 27791b112062394ee6a2d2588d0889adf8f72acf
1 parent
7a765da2
style: User-Model in PlantUML modelliert
Showing
2 changed files
with
64 additions
and
0 deletions
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 | 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 | 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 | 153 | public void setPassword(String password) { |
149 | 154 | // das Klartextkennwort wird niemals gespeichert! |
150 | 155 | this.passwordHash = cryptString(password); |
... | ... | @@ -154,6 +159,12 @@ public class Profile extends BaseEntity { |
154 | 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 | 168 | public boolean isValidPassword(final String password) { |
158 | 169 | final String passwordHash = cryptString(password); |
159 | 170 | ... | ... |