@Override public Void run() { SecurityContextAssociation.setSecurityContext(ctx); return null; } }
@Override public Void run() { SecurityContextAssociation.setSecurityContext(sc); return null; } });
@Override public Void run() { SecurityContextAssociation.setSecurityContext(sc); return null; } });
@Override public Void run() { SecurityContextAssociation.setSecurityContext(securityContext); return null; } });
private void resetSecurityContext() { SecurityContextAssociation.setSecurityContext(previous); } }
private static void setSecurityContextOnAssociation(final SecurityContext sc) { AccessController.doPrivileged((PrivilegedAction<Void>) () -> { SecurityContextAssociation.setSecurityContext(sc); return null; }); }
private static void setSecurityContextOnAssociation(final SecurityContext sc) { AccessController.doPrivileged((PrivilegedAction<Void>) () -> { SecurityContextAssociation.setSecurityContext(sc); return null; }); }
private static void setSecurityContext(final SecurityContext securityContext) { if (WildFlySecurityManager.isChecking()) { AccessController.doPrivileged(new PrivilegedAction<Void>() { @Override public Void run() { SecurityContextAssociation.setSecurityContext(securityContext); return null; } }); } else { SecurityContextAssociation.setSecurityContext(securityContext); } } }
private SecurityContext setupSecurityContext() { final SecurityContext previous = SecurityContextAssociation.getSecurityContext(); SecurityContextAssociation.setSecurityContext(securityContext); return previous; } }
/** * Must be called from within a privileged action. */ public void pop() { final SecurityContext sc = contexts.pop(); SecurityContextAssociation.setSecurityContext(sc); }
/** * Set the {@code SecurityContext} on the {@code SecurityContextAssociation} * * @param sc the security context */ static void setSecurityContextOnAssociation(final SecurityContext sc) { if (WildFlySecurityManager.isChecking()) { WildFlySecurityManager.doUnchecked(new PrivilegedAction<Void>() { @Override public Void run() { SecurityContextAssociation.setSecurityContext(sc); return null; } }); } else { SecurityContextAssociation.setSecurityContext(sc); } }
/** * Pop the identity previously associated and restore internal state to it's previous value. * * @param stateCache - The cache containing the state as it was when pushIdentity was called. */ public static void popIdentity(final ContextStateCache stateCache) { RemotingContext.setConnection(stateCache.getConnection()); SecurityContextAssociation.setSecurityContext(stateCache.getSecurityContext()); }
private SecurityContext establishSecurityContext(final String securityDomain) { // Do not use SecurityFactory.establishSecurityContext, its static init is broken. try { final SecurityContext securityContext = SecurityContextFactory.createSecurityContext(securityDomain); if (securityManagement == null) throw SecurityLogger.ROOT_LOGGER.securityManagementNotInjected(); securityContext.setSecurityManagement(securityManagement); SecurityContextAssociation.setSecurityContext(securityContext); return securityContext; } catch (Exception e) { throw SecurityLogger.ROOT_LOGGER.securityException(e); } }
/** * Push a new {@link Principal} and Credential pair. * * This method is to be called before an EJB invocation is passed through it's security interceptor, at that point the * Principal and Credential pair can be verified. * * Note: This method should be called from within a {@link PrivilegedAction}. * * @param principal - The alternative {@link Principal} to use in verification before the next EJB is called. * @param credential - The credential to verify with the {@linl Principal} * @return A {@link ContextStateCache} that can later be used to pop the identity pushed here and restore internal state to it's previous values. * @throws Exception If there is a problem associating the new {@link Principal} and Credential pair. */ public static ContextStateCache pushIdentity(final Principal principal, final Object credential) throws Exception { SecurityContext current = SecurityContextAssociation.getSecurityContext(); SecurityContext nextContext = SecurityContextFactory.createSecurityContext(principal, credential, new Subject(), "USER_DELEGATION"); SecurityContextAssociation.setSecurityContext(nextContext); RemoteConnection con = RemotingContext.getRemoteConnection(); RemotingContext.clear(); return new ContextStateCache(con, current); }
@Override public Void run() { SecurityContextAssociation.setSecurityContext(sc); return null; } });
public Object run() { SecurityContextAssociation.setSecurityContext(sc); return null; } });
@Override public Void run() { SecurityContextAssociation.setSecurityContext(sc); return null; } });
public Object run() { SecurityContextAssociation.setSecurityContext(sc); return null; } });
public Object run() throws Exception { SecurityContext sc = SecurityContextFactory.createSecurityContext(p, cred, null, domain); SecurityContextAssociation.setSecurityContext(sc); return null; }}); }
private SecurityContext setupSecurityContext() { final SecurityContext previous = SecurityContextAssociation.getSecurityContext(); SecurityContextAssociation.setSecurityContext(securityContext); return previous; } }