From 9aedc9c0c54b7f3971ff025fcd9160b2a22909ee Mon Sep 17 00:00:00 2001 From: ulrich Date: Tue, 15 Jun 2021 15:19:32 +0000 Subject: [PATCH] Kommentare ergaenzt --- src/de/uhilger/httpserver/auth/realm/Encoder.java | 6 ++- src/de/uhilger/httpserver/auth/realm/SimpleRealm.java | 44 +++++++++++++++++++-- src/de/uhilger/httpserver/auth/realm/User.java | 29 +++++++++++++- 3 files changed, 70 insertions(+), 9 deletions(-) diff --git a/src/de/uhilger/httpserver/auth/realm/Encoder.java b/src/de/uhilger/httpserver/auth/realm/Encoder.java index 308ce71..e82ec91 100644 --- a/src/de/uhilger/httpserver/auth/realm/Encoder.java +++ b/src/de/uhilger/httpserver/auth/realm/Encoder.java @@ -22,8 +22,10 @@ import java.security.NoSuchAlgorithmException; /** - * - * @author ulrich + * Encoder zur Kennwort-Verschluesselung + * + * @author Ulrich Hilger + * @version 1, 08.06.2021 */ public class Encoder { diff --git a/src/de/uhilger/httpserver/auth/realm/SimpleRealm.java b/src/de/uhilger/httpserver/auth/realm/SimpleRealm.java index 3951361..e8cea3e 100644 --- a/src/de/uhilger/httpserver/auth/realm/SimpleRealm.java +++ b/src/de/uhilger/httpserver/auth/realm/SimpleRealm.java @@ -38,7 +38,7 @@ * ulrich=ulrich,testRolle,andereRolle * * Der erste Eintrag nach dem Gleichheitszeichen ist das Passwort, die restlichen - * Eintrage sind Rollen. + * Eintraege sind Rollen. * * @author Ulrich Hilger * @version 1, 03.06.2021 @@ -55,15 +55,27 @@ private final Map<String, User> users; private final Map<String, List> userRoles; + /** + * Ein neues Objekt der Klasse SimpleRealm erzeugen + */ public SimpleRealm() { users = new HashMap<>(); userRoles = new HashMap<>(); } + /** + * Den Namen dieses Realm festlegen + * @param name Name des Realms + */ public void setName(String name) { this.name = name; } + /** + * Nutzerinformationen aus einer Datei lesen + * @param file die Datei mit Nutzerinformationen + * @throws IOException + */ public void readFromFile(File file) throws IOException { BufferedReader r = new BufferedReader(new FileReader(file)); String line = r.readLine(); @@ -74,6 +86,10 @@ r.close(); } + /** + * Eine Zeile aus der Datei mit Nutzerinformationen verarbeiten + * @param line die Zeile, die verarbeitet werden soll + */ private void parse(String line) { if(!line.startsWith(COMMENT_INDICATOR)) { String[] teile = line.split(LIST_INDICATOR); @@ -100,28 +116,46 @@ /* ------------ Realm implementation -------------- */ + /** + * Uberpruefen, ob die Benutzerkennung und das Kennwort gueltig sind. + * + * @param userId der Benutzer + * @param password das Kennwort des Benutzers + * @return true, wenn die Angaben stimmen, false wenn nicht + */ @Override - public boolean isValid(String userId, String kennwort) { + public boolean isValid(String userId, String password) { Object o = users.get(userId); if(o instanceof User) { User user = (User) o; - return user.getPassword().equals(kennwort); + return user.getPassword().equals(password); } else { return false; } } + /** + * Pruefen, ob ein Benutzer eine Rolle hat + * + * @param userId der Benutzer + * @param roleId die Kennung der Rolle + * @return true, wenn der Benutzer die Rolle hat, false wenn nicht + */ @Override - public boolean hasRole(String userId, String rollenId) { + public boolean hasRole(String userId, String roleId) { Object o = userRoles.get(userId); if(o instanceof List) { List roles = (List) o; - return roles.contains(rollenId); + return roles.contains(roleId); } else { return false; } } + /** + * Den Namen dieses Realms ermitteln + * @return Name des Realms + */ @Override public String getName() { return name; diff --git a/src/de/uhilger/httpserver/auth/realm/User.java b/src/de/uhilger/httpserver/auth/realm/User.java index 5f56ad4..f13d55c 100644 --- a/src/de/uhilger/httpserver/auth/realm/User.java +++ b/src/de/uhilger/httpserver/auth/realm/User.java @@ -18,7 +18,8 @@ package de.uhilger.httpserver.auth.realm; /** - * + * Ein Nutzer im Kontext dieser Package + * * @author Ulrich Hilger * @version 1, 22.05.2021 */ @@ -26,28 +27,52 @@ private String name; private String password; + /** + * Den Namen des Nutzers ermitteln + * @return Name des Nutzers + */ public String getName() { return name; } + /** + * Den Namen des Nutzers setzen + * @param name Name des Nutzers + */ public void setName(String name) { this.name = name; } - + /** + * Das Kennwort des Nutzers ermitteln + * @return Kennwort des Nutzers + */ public String getPassword() { return password; } + /** + * Das Kennwort des Nutzers setzen + * @param password das Kennwort des Nutzers + */ public void setPassword(String password) { this.password = password; } + /** + * Den Hashcode dieses Objekts ermitteln + * @return den Hashcode + */ @Override public int hashCode() { return this.getName().hashCode(); } + /** + * Dieses Objekt mit einem anderen Objekt vergleichen + * @param obj das Objekt, mit dem dieses Objekt verglichen werden soll + * @return true, wenn die Objekte gleich sind, false, wenn nicht + */ @Override public boolean equals(Object obj) { if(obj instanceof User) { -- Gitblit v1.9.3