From 8ba1266a999b0aeaabdb2bf41bec0d7aa9ded1ac Mon Sep 17 00:00:00 2001 From: Radovan Semancik Date: Tue, 30 Jun 2015 11:44:35 +0200 Subject: [PATCH] Improved authorization logging (MID-1858) --- .../xml/ns/public/common/common-3.xsd | 1 + .../model/impl/lens/AssignmentEvaluator.java | 5 +- .../role-prop-read-all-modify-some.xml | 4 +- .../test/resources/security/role-readonly.xml | 3 +- .../midpoint/security/api/Authorization.java | 27 +++- .../security/impl/SecurityEnforcerImpl.java | 121 ++++++++++-------- 6 files changed, 99 insertions(+), 62 deletions(-) diff --git a/infra/schema/src/main/resources/xml/ns/public/common/common-3.xsd b/infra/schema/src/main/resources/xml/ns/public/common/common-3.xsd index 6d77b796a40..6308bde9bde 100644 --- a/infra/schema/src/main/resources/xml/ns/public/common/common-3.xsd +++ b/infra/schema/src/main/resources/xml/ns/public/common/common-3.xsd @@ -6781,6 +6781,7 @@ + diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/AssignmentEvaluator.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/AssignmentEvaluator.java index 93256bd8508..57139b124af 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/AssignmentEvaluator.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/AssignmentEvaluator.java @@ -527,7 +527,7 @@ private boolean evaluateAbstractRole(EvaluatedAssignmentImpl assignment, Assi evaluateAssignment(assignment, roleAssignmentPathSegment, evaluateOld, mode, roleType, subSourceDescription, assignmentPath, task, result); } for(AuthorizationType authorizationType: roleType.getAuthorization()) { - Authorization authorization = createAuthorization(authorizationType); + Authorization authorization = createAuthorization(authorizationType, roleType.toString()); assignment.addAuthorization(authorization); } @@ -574,8 +574,9 @@ public static String dumpAssignment(AssignmentType assignmentType) { } - private Authorization createAuthorization(AuthorizationType authorizationType) { + private Authorization createAuthorization(AuthorizationType authorizationType, String sourceDesc) { Authorization authorization = new Authorization(authorizationType); + authorization.setSourceDescription(sourceDesc); return authorization; } diff --git a/model/model-intest/src/test/resources/security/role-prop-read-all-modify-some.xml b/model/model-intest/src/test/resources/security/role-prop-read-all-modify-some.xml index 1e6486abf23..4c7ba7f3ef9 100644 --- a/model/model-intest/src/test/resources/security/role-prop-read-all-modify-some.xml +++ b/model/model-intest/src/test/resources/security/role-prop-read-all-modify-some.xml @@ -1,5 +1,5 @@