| | |
| | | /* |
| | | jwtTest - JSON Web Token Testimplementierung |
| | | http-auth - Authentication Extensions to jdk.httpserver |
| | | Copyright (C) 2021 Ulrich Hilger |
| | | |
| | | This program is free software: you can redistribute it and/or modify |
| | |
| | | |
| | | /** |
| | | * A Realm is a "database" of usernames and passwords that identify valid |
| | | * users of an application (or a set of applications), plus an enumeration |
| | | * of the list of roles associated with each valid user. |
| | | * users of an application (or a set of applications), plus a list of roles |
| | | * associated with each valid user. |
| | | * |
| | | * You can think of roles as similar to groups in Unix-like operating systems, |
| | | * because access to specific web application resources is granted to all |
| | | * users possessing a particular role (rather than enumerating the list of |
| | | * associated usernames). A particular user can have any number of roles |
| | | * associated with their username. |
| | | * |
| | | * |
| | | * |
| | | * |
| | | * Die Klasse Realm liefert Angaben zu Benutzern, die zu deren |
| | | * Authentifizierung benoetigt werden. |
| | | * |
| | | * Ein Benutzer Authentisiert sich gegenueber einem System z.B. mit |
| | | * seiner Benutzerkennung und einem Kennwort. |
| | | * |
| | | * Das System vergleicht die Authentisierungsangaben den Benutzers mit |
| | | * Angaben, die fuer diesen Benutzer im System hinterlegt wurden. Stimmen die |
| | | * Angaben ueberein, gibt das System eine Bestaetigung aus, die den Benutzer |
| | | * authentifiziert. |
| | | * |
| | | * Diese Authentifizierungsbestaetigung dient zur Ausfuehrung |
| | | * von Transaktionen, die nur von bestimmten Benutzern durchgefuehrt |
| | | * werden duerfen. Anhand der Authentifizierungsbestaetigung kann das System |
| | | * bei jeder Anfrage pruefen, ob der Benutzer, von dem die Anfrage kommt, der |
| | | * Benutzer ist, der er vorgibt zu sein. |
| | | * |
| | | * @author Ulrich Hilger |
| | | * @version 1, 22.05.2021 |
| | |
| | | /** |
| | | * Uberpruefen, ob die Benutzerkennung und das Kennwort gueltig sind. |
| | | * |
| | | * @param nutzerId die Kennung des Benutzers |
| | | * @param kennwort das Kennwort des Benutzers |
| | | * @param userId der Benutzer |
| | | * @param password das Kennwort des Benutzers |
| | | * @return true, wenn die Angaben stimmen, false wenn nicht |
| | | */ |
| | | public boolean isValid(String nutzerId, String kennwort); |
| | | public boolean isValid(String userId, String password); |
| | | |
| | | /** |
| | | * Pruefen, ob ein Benutzer eine Rolle hat |
| | | * |
| | | * @param nutzerId die Kennung des Benutzers |
| | | * @param rollenId die Kennung der Rolle |
| | | * @param userId der Benutzer |
| | | * @param roleId die Kennung der Rolle |
| | | * @return true, wenn der Benutzer die Rolle hat, false wenn nicht |
| | | */ |
| | | public boolean hasRole(String nutzerId, String rollenId); |
| | | public boolean hasRole(String userId, String roleId); |
| | | |
| | | /** |
| | | * Den Namen dieses Realms ermitteln |