]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/auth/SystemRole.java
Use runtime namespace context as default.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / SystemRole.java
1 package org.argeo.cms.auth;
2
3 import java.util.Set;
4
5 import javax.security.auth.Subject;
6 import javax.xml.namespace.QName;
7
8 import org.argeo.cms.internal.auth.ImpliedByPrincipal;
9
10 public interface SystemRole {
11 QName getName();
12
13 default boolean implied(Subject subject, String context) {
14 Set<ImpliedByPrincipal> roles = subject.getPrincipals(ImpliedByPrincipal.class);
15 for (ImpliedByPrincipal role : roles) {
16 if (role.isSystemRole()) {
17 if (role.getRoleName().equals(getName())) {
18 if (role.getContext().equalsIgnoreCase(context))
19 return true;
20 }
21 }
22 }
23 return false;
24 }
25
26 }