X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FSystemRole.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FSystemRole.java;h=0000000000000000000000000000000000000000;hb=e018ad9078249a806f2e2ef86a6adcbd8cca3188;hp=646752d412f988d7ba3ddb60e05edcff7e0f5b67;hpb=feddb4be70a8304dd4a533efee6e14c22691b500;p=lgpl%2Fargeo-commons.git
diff --git a/org.argeo.cms/src/org/argeo/cms/auth/SystemRole.java b/org.argeo.cms/src/org/argeo/cms/auth/SystemRole.java
deleted file mode 100644
index 646752d41..000000000
--- a/org.argeo.cms/src/org/argeo/cms/auth/SystemRole.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.argeo.cms.auth;
-
-import java.util.Set;
-
-import javax.security.auth.Subject;
-import javax.xml.namespace.QName;
-
-import org.argeo.api.cms.CmsConstants;
-import org.argeo.cms.internal.auth.ImpliedByPrincipal;
-
-/** A programmatic role. */
-public interface SystemRole {
- QName getName();
-
- /** Whether this role is implied for this authenticated user. */
- default boolean implied(Subject subject, String context) {
- return implied(getName(), subject, context);
- }
-
- /** Whether this role is implied for this distinguished name. */
- default boolean implied(String dn, String context) {
- String roleContext = RoleNameUtils.getContext(dn);
- QName roleName = RoleNameUtils.getLastRdnAsName(dn);
- return roleContext.equalsIgnoreCase(context) && getName().equals(roleName);
- }
-
- /**
- * Whether this role is implied for this authenticated subject. If context is
- * null
, it is not considered; this should be used to build user
- * interfaces, but not to authorise.
- */
- static boolean implied(QName name, Subject subject, String context) {
- Set roles = subject.getPrincipals(ImpliedByPrincipal.class);
- for (ImpliedByPrincipal role : roles) {
- if (role.isSystemRole()) {
- if (role.getRoleName().equals(name)) {
- // !! if context is not specified, it is considered irrelevant
- if (context == null)
- return true;
- if (role.getContext().equalsIgnoreCase(context)
- || role.getContext().equals(CmsConstants.NODE_BASEDN))
- return true;
- }
- }
- }
- return false;
- }
-}