Search in sources :

Example 1 with SessionContextImpl

use of org.jboss.as.ejb3.context.SessionContextImpl in project wildfly by wildfly.

the class UncheckedStatelessBean method unchecked.

@PermitAll
public Set<Principal> unchecked() {
    org.wildfly.security.auth.server.SecurityDomain securityDomain = org.wildfly.security.auth.server.SecurityDomain.getCurrent();
    if (securityDomain != null) {
        // elytron profile is enabled
        final Roles roles = ((SessionContextImpl) ctx).getComponent().getIncomingRunAsIdentity().getRoles("ejb");
        final HashSet<Principal> rolesSet = new HashSet<>();
        if (roles != null) {
            roles.forEach(role -> rolesSet.add(new NamePrincipal(role.toString())));
        }
        return rolesSet;
    } else {
        // use legacy approach
        RunAsIdentity rs = (RunAsIdentity) ctx.getCallerPrincipal();
        return rs.getRunAsRoles();
    }
}
Also used : SessionContextImpl(org.jboss.as.ejb3.context.SessionContextImpl) NamePrincipal(org.wildfly.security.auth.principal.NamePrincipal) RunAsIdentity(org.jboss.security.RunAsIdentity) Roles(org.wildfly.security.authz.Roles) NamePrincipal(org.wildfly.security.auth.principal.NamePrincipal) Principal(java.security.Principal) HashSet(java.util.HashSet) PermitAll(javax.annotation.security.PermitAll)

Aggregations

Principal (java.security.Principal)1 HashSet (java.util.HashSet)1 PermitAll (javax.annotation.security.PermitAll)1 SessionContextImpl (org.jboss.as.ejb3.context.SessionContextImpl)1 RunAsIdentity (org.jboss.security.RunAsIdentity)1 NamePrincipal (org.wildfly.security.auth.principal.NamePrincipal)1 Roles (org.wildfly.security.authz.Roles)1