ejb3/src/main/java/org/jboss/as/ejb3/security/AuthorizationInterceptor.java
protected Set<Principal> getMethodRolesAsPrincipals() {
        Set<Principal> methodRoles = new HashSet<Principal>();
        if (this.ejbMethodSecurityMetaData.isDenyAll())
            methodRoles.add(NobodyPrincipal.NOBODY_PRINCIPAL);
        else if (this.ejbMethodSecurityMetaData.isPermitAll())
            methodRoles.add(AnybodyPrincipal.ANYBODY_PRINCIPAL);
        else {
            for (String role : this.ejbMethodSecurityMetaData.getRolesAllowed())
                methodRoles.add(new SimplePrincipal(role));
        }
        return methodRoles;
    }

    /**
     * <p>
     * Gets the {@code MethodInterfaceType} that corresponds to the specified {@code MethodIntf}.
     * </p>
     *
     * @param viewType the {@code MethodIntf} type to be converted.
     * @return the converted type or {@code null} if the type cannot be converted.
     */
    protected MethodInterfaceType getMethodInterfaceType(MethodIntf viewType) {
        switch (viewType) {
            case HOME:
                return MethodInterfaceType.Home;
            case LOCAL_HOME:
                return MethodInterfaceType.LocalHome;
            case SERVICE_ENDPOINT:
                return MethodInterfaceType.ServiceEndpoint;
            case LOCAL:
                return MethodInterfaceType.Local;
            case REMOTE:
                return MethodInterfaceType.Remote;
            case TIMER:
                return MethodInterfaceType.Timer;
            case MESSAGE_ENDPOINT:
                return MethodInterfaceType.MessageEndpoint;
            default:
                return null;
        }
    }

    /**
     * <p>
     * Sets the JACC contextID using a privileged action and returns the previousID from the {@code PolicyContext}.
     * </p>
     *
     * @param contextID the JACC contextID to be set.
     * @return the previous contextID as retrieved from the {@code PolicyContext}.
     */
    protected String setContextID(final String contextID) {
        if (! WildFlySecurityManager.isChecking()) {
            final String previousID = PolicyContext.getContextID();
            PolicyContext.setContextID(contextID);
            return previousID;
        } else {
            final PrivilegedAction<String> action = new SetContextIDAction(contextID);
            return AccessController.doPrivileged(action);
        }
    }

    /**
     * PrivilegedAction that sets the {@code PolicyContext} id.
     */
    private static class SetContextIDAction implements PrivilegedAction<String> {

        private String contextID;

        SetContextIDAction(final String contextID) {
            this.contextID = contextID;
        }

        @Override
        public String run() {
            final String previousID = PolicyContext.getContextID();
            PolicyContext.setContextID(this.contextID);
            return previousID;
        }
    }
}
protected Set<Principal> getMethodRolesAsPrincipals() {
        Set<Principal> methodRoles = new HashSet<Principal>();
        if (this.ejbMethodSecurityMetaData.isDenyAll())
            methodRoles.add(NobodyPrincipal.NOBODY_PRINCIPAL);
        else if (this.ejbMethodSecurityMetaData.isPermitAll())
            methodRoles.add(AnybodyPrincipal.ANYBODY_PRINCIPAL);
        else {
            for (String role : this.ejbMethodSecurityMetaData.getRolesAllowed())
                methodRoles.add(new SimplePrincipal(role));
        }
        return methodRoles;
    }

    /**
     * <p>
     * Gets the {@code MethodInterfaceType} that corresponds to the specified {@code MethodIntf}.
     * </p>
     *
     * @param viewType the {@code MethodIntf} type to be converted.
     * @return the converted type or {@code null} if the type cannot be converted.
     */
    protected MethodInterfaceType getMethodInterfaceType(MethodIntf viewType) {
        switch (viewType) {
            case HOME:
                return MethodInterfaceType.Home;
            case LOCAL_HOME:
                return MethodInterfaceType.LocalHome;
            case SERVICE_ENDPOINT:
                return MethodInterfaceType.ServiceEndpoint;
            case LOCAL:
                return MethodInterfaceType.Local;
            case REMOTE:
                return MethodInterfaceType.Remote;
            case TIMER:
                return MethodInterfaceType.Timer;
            case MESSAGE_ENDPOINT:
                return MethodInterfaceType.MessageEndpoint;
            default:
                return null;
        }
    }

    /**
     * <p>
     * Sets the JACC contextID using a privileged action and returns the previousID from the {@code PolicyContext}.
     * </p>
     *
     * @param contextID the JACC contextID to be set.
     * @return the previous contextID as retrieved from the {@code PolicyContext}.
     */
    protected String setContextID(final String contextID) {
        if (! WildFlySecurityManager.isChecking()) {
            final String previousID = PolicyContext.getContextID();
            PolicyContext.setContextID(contextID);
            return previousID;
        } else {
            final PrivilegedAction<String> action = new SetContextIDAction(contextID);
            return AccessController.doPrivileged(action);
        }
    }

    /**
     * PrivilegedAction that sets the {@code PolicyContext} id.
     */
    private static class SetContextIDAction implements PrivilegedAction<String> {

        private String contextID;

        SetContextIDAction(final String contextID) {
            this.contextID = contextID;
        }

        @Override
        public String run() {
            final String previousID = PolicyContext.getContextID();
            PolicyContext.setContextID(this.contextID);
            return previousID;
        }
    }
}
protected Set < Principal > getMethodRolesAsPrincipals ( ) { Set < Principal > methodRoles = new HashSet < Principal > ( ) ; if ( this . ejbMethodSecurityMetaData . isDenyAll ( ) ) methodRoles . add ( NobodyPrincipal . NOBODY_PRINCIPAL ) ; else if ( this . ejbMethodSecurityMetaData . isPermitAll ( ) ) methodRoles . add ( AnybodyPrincipal . ANYBODY_PRINCIPAL ) ; else { for ( String role : this . ejbMethodSecurityMetaData . getRolesAllowed ( ) ) methodRoles . ( new SimplePrincipal ( role ) ) ; } return methodRoles ; } /**
     * <p>
     * Gets the {@code MethodInterfaceType} that corresponds to the specified {@code MethodIntf}.
     * </p>
     *
     * @param viewType the {@code MethodIntf} type to be converted.
     * @return the converted type or {@code null} if the type cannot be converted.
     */ protected MethodInterfaceType getMethodInterfaceType ( MethodIntf viewType ) { switch ( viewType ) { case HOME : return MethodInterfaceType . Home ; case LOCAL_HOME : return MethodInterfaceType . LocalHome ; case SERVICE_ENDPOINT : return MethodInterfaceType . ServiceEndpoint ; case LOCAL : return MethodInterfaceType . Local ; case REMOTE : return MethodInterfaceType . Remote ; case TIMER : return MethodInterfaceType . Timer ; case MESSAGE_ENDPOINT : return MethodInterfaceType . MessageEndpoint ; default : return null ; } } /**
     * <p>
     * Sets the JACC contextID using a privileged action and returns the previousID from the {@code PolicyContext}.
     * </p>
     *
     * @param contextID the JACC contextID to be set.
     * @return the previous contextID as retrieved from the {@code PolicyContext}.
     */ protected String setContextID ( final String contextID ) { if ( ! WildFlySecurityManager . isChecking ( ) ) { final String previousID = PolicyContext . getContextID ( ) ; PolicyContext . setContextID ( contextID ) ; return previousID ; } else { final PrivilegedAction < String > action = new SetContextIDAction ( contextID ) ; return AccessController . doPrivileged ( action ) ; } } /**
     * PrivilegedAction that sets the {@code PolicyContext} id.
     */ private static class SetContextIDAction implements PrivilegedAction < String > { private String contextID ; SetContextIDAction ( final String contextID ) { this . contextID = contextID ; } @ Override public String run ( ) { final String previousID = PolicyContext . getContextID ( ) ; PolicyContext . setContextID ( this . contextID ) ; return previousID ; } } }
<p>
Returns the method roles as a set of {@code Principal} instances. All roles specified in the method-permissions or
via {@code RolesAllowed} for this method are wrapped by a {@code SimplePrincipal}. If the method has been added to
the exclude-list or annotated with {@code DenyAll}, a NOBODY_PRINCIPAL is returned. If the method has been added
to the unchecked list or annotated with {@code PermitAll}, an ANYBODY_PRINCIPAL is returned.
</p>

@return the constructed set of role principals.
<p > Returns the method roles as a set of { @code Principal } instances . All roles specified in the method - permissions or via { @code RolesAllowed } for this method are wrapped by a { @code SimplePrincipal } . If the method has been added to the exclude - list or annotated with { @code DenyAll } a NOBODY_PRINCIPAL is returned . If the method has been added to the unchecked list or annotated with { @code PermitAll } an ANYBODY_PRINCIPAL is returned . < / p >