You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/01/10 06:52:12 UTC
[isis] branch master updated: ISIS-2856: restore critical implementation note
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new b298721 ISIS-2856: restore critical implementation note
b298721 is described below
commit b2987211d4de9001f4ba1448f405386d3e828be2
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Jan 10 07:52:05 2022 +0100
ISIS-2856: restore critical implementation note
---
.../permissions/PermissionsEvaluationServiceForSecman.java | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java b/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java
index 3c35c6b..6baf5a6 100644
--- a/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java
+++ b/extensions/security/secman/integration/src/main/java/org/apache/isis/extensions/secman/integration/permissions/PermissionsEvaluationServiceForSecman.java
@@ -38,6 +38,7 @@ import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman;
import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman.PermissionsEvaluationPolicy;
import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode;
+import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionRule;
import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue;
import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
import org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService;
@@ -89,6 +90,14 @@ implements PermissionsEvaluationService {
return null;
}
+ /**
+ * @implSpec
+ * This implementation relies on the fact that the {@link org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue}s are
+ * passed through in natural order, with the leading part based on the
+ * {@link org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue#getRule() rule} and with
+ * {@link ApplicationPermissionRule} in turn comparable so that {@link ApplicationPermissionRule#ALLOW allow}
+ * is ordered before {@link ApplicationPermissionRule#VETO veto}.
+ */
protected Collection<ApplicationPermissionValue> ordered(
final Collection<ApplicationPermissionValue> permissionValues) {
switch (policy) {