summaryrefslogtreecommitdiff
path: root/src/main/java/DNPM/security/FormBasedPermissionEvaluator.java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-04-10 13:09:54 +0200
committerPaul-Christian Volkmer2023-04-10 13:09:54 +0200
commit44396ff04a24088ac9fb2cab270036a9a983944f (patch)
tree7877cd16b315171d3c3b3c2fbb254694090bb062 /src/main/java/DNPM/security/FormBasedPermissionEvaluator.java
parent2495d851fcaa49ea61db2ce5c9a96f31b800014c (diff)
Issue #24: Füge PermissionEvaluator zur Gesamtprüfung der Berechtigung hinzu
Dieser PermissionEvaluator delegiert die einzelnen Prüfungen an PermissionEvaluatoren welche `AbstractDelegatedPermissionEvaluator` erweitern. Nur, wenn all diese PermissionEvaluatoren die Berechtigung erfolgreich geprüft haben, gibt dieser PermissionEvaluator ein positives Prüfungsergebnis zurück.
Diffstat (limited to 'src/main/java/DNPM/security/FormBasedPermissionEvaluator.java')
-rw-r--r--src/main/java/DNPM/security/FormBasedPermissionEvaluator.java13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/main/java/DNPM/security/FormBasedPermissionEvaluator.java b/src/main/java/DNPM/security/FormBasedPermissionEvaluator.java
index 73937af..4ba19dc 100644
--- a/src/main/java/DNPM/security/FormBasedPermissionEvaluator.java
+++ b/src/main/java/DNPM/security/FormBasedPermissionEvaluator.java
@@ -3,8 +3,6 @@ package DNPM.security;
import de.itc.onkostar.api.IOnkostarApi;
import de.itc.onkostar.api.Patient;
import de.itc.onkostar.api.Procedure;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.security.access.PermissionEvaluator;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Component;
@@ -17,15 +15,10 @@ import java.util.List;
* Permission-Evaluator zur Auswertung der Berechtigung auf Objekte aufgrund der Formularberechtigung
*/
@Component
-public class FormBasedPermissionEvaluator implements PermissionEvaluator {
-
- private final IOnkostarApi onkostarApi;
-
- private final JdbcTemplate jdbcTemplate;
+public class FormBasedPermissionEvaluator extends AbstractDelegatedPermissionEvaluator {
public FormBasedPermissionEvaluator(final IOnkostarApi onkostarApi, final DataSource dataSource) {
- this.onkostarApi = onkostarApi;
- this.jdbcTemplate = new JdbcTemplate(dataSource);
+ super(onkostarApi, dataSource);
}
/**
@@ -63,7 +56,7 @@ public class FormBasedPermissionEvaluator implements PermissionEvaluator {
@Override
public boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permissionType) {
if (targetId instanceof Integer) {
- if ("Patient".equals(targetType)) {
+ if (PATIENT.equals(targetType)) {
return true;
}
var procedure = this.onkostarApi.getProcedure((int)targetId);