From 2808e55c4026ff77acf839c5d38637012ae544b1 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sun, 16 Apr 2023 18:19:37 +0200 Subject: [PATCH] =?UTF-8?q?Informationen=20=C3=BCber=20Berechtigungspr?= =?UTF-8?q?=C3=BCfung=20in=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 4eb5e55..d533cf5 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,28 @@ VALUES ( ); ``` +## Berechtigungsprüfung + +Dieses Plugin unterstützt eine Berechtigungsprüfung anhand von personenstammbasierten als auch formularbasierten Berechtigungen. + +Hierzu können jeweils die implementierten `PermissionEvaluator`en einzeln als auch gemeinsam genutzt werden: + +* `PersonPoolBasedPermissionEvaluator`: Berechtigungsprüfung basierend auf dem zugehörigen Personenstamm +* `FormBasedPermissionEvaluator`: Berechtigungsprüfung basierend auf dem zugehörigen Formular +* `DelegatingDataBasedPermissionEvaluator`: Berechtigungsprüfung basierend auf allen implementierten Evaluatoren + +Zusätzlich sind, basierend auf Spring AOP, folgende Annotationen verfügbar: + +* `FormSecured`: Berechtigungsprüfung wird für alle Argumente vom Typ `Procedure` anhand der Berechtigung auf das zugehörige Formular durchgeführt und erlaubt immer Zugriff auf Argumente vom Typ `Patient` +* `FormSecuredResult`: Berechtigungsprüfung wird für Rückgabewerte vom Typ `Procedure` anhand der Berechtigung auf das zugehörige Formular durchgeführt und erlaubt immer Zugriff auf Rückgabewerte vom Typ `Patient` +* `PersonPoolSecured`: Berechtigungsprüfung wird für alle Argumente vom Typ `Procedure` und `Procedure` anhand des zugehörigen Personenstamms durchgeführt. +* `PersonPoolSecuredResult`: Berechtigungsprüfung wird für Rückgabewerte vom Typ `Procedure` und `Procedure` anhand des zugehörigen Personenstamms durchgeführt. + +Mögliche Berechtigungsanforderungen sind sowohl für die `PermissionEvaluator`en, als auch die Annotationen: + +* `PermissionType.READ` +* `PermissionType.READ_WRITE` + ## Bauen des Plugins Für das Bauen des Plugins ist zwingend JDK in Version 11 erforderlich.