X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fauth%2FImpliedByPrincipal.java;h=5afacf69db134c522274dbe812a0291bd40c5efa;hb=a940a66aca249a1ce7dea66d43b0e2816845d7d1;hp=7386d5fe5fedbf6bb9bacd8377adfd11295a30d5;hpb=ef7f248b07ca06a29f6b507bbd8d0fa430a38407;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java b/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java index 7386d5fe5..5afacf69d 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java @@ -2,6 +2,7 @@ package org.argeo.cms.internal.auth; import java.security.Principal; import java.util.Collections; +import java.util.Dictionary; import java.util.Enumeration; import java.util.HashSet; import java.util.Set; @@ -11,6 +12,7 @@ import javax.naming.ldap.LdapName; import org.argeo.cms.CmsException; import org.osgi.service.useradmin.Authorization; +import org.osgi.service.useradmin.Role; /** * A {@link Principal} which has been implied by an {@link Authorization}. If it @@ -20,10 +22,12 @@ import org.osgi.service.useradmin.Authorization; * identity is removed, the related {@link ImpliedByPrincipal}s can thus be * removed. */ -public final class ImpliedByPrincipal implements Principal { +public final class ImpliedByPrincipal implements Principal, Role { private final LdapName name; private Set causes = new HashSet(); + private int type = Role.ROLE; + public ImpliedByPrincipal(String name, Principal userPrincipal) { try { this.name = new LdapName(name); @@ -60,6 +64,26 @@ public final class ImpliedByPrincipal implements Principal { return Collections.enumeration(causes); } + /* + * USER ADMIN + */ + + @Override + /** Type of {@link Role}, if known. */ + public int getType() { + return type; + } + + @Override + /** Not supported for the time being. */ + public Dictionary getProperties() { + throw new UnsupportedOperationException(); + } + + /* + * OBJECT + */ + @Override public int hashCode() { return name.hashCode();