private void handle(ServletInfo servletInfo, LifecycleContext context) throws ServletException { RunAsIdentityMetaData identity = null; RunAs old = null; SecurityContext sc = SecurityActions.getSecurityContext(); if (sc == null) { context.proceed(); return; } try { identity = runAsIdentityMetaDataMap.get(servletInfo.getName()); RunAsIdentity runAsIdentity = null; if (identity != null) { UndertowLogger.ROOT_LOGGER.tracef("%s, runAs: %s", servletInfo.getName(), identity); runAsIdentity = new RunAsIdentity(identity.getRoleName(), identity.getPrincipalName(), identity.getRunAsRoles()); } old = SecurityActions.setRunAsIdentity(runAsIdentity, sc); // Perform the request context.proceed(); } finally { if (identity != null) { SecurityActions.setRunAsIdentity(old, sc); } } }
private void doIt(ServletInfo servletInfo, LifecycleContext context) throws ServletException { RunAsIdentityMetaData runAsMetaData = runAsMapper.apply(servletInfo.getName()); if (runAsMetaData != null) { SecurityIdentity securityIdentity = performMapping(securityDomain.getAnonymousSecurityIdentity(), securityDomain, runAsMetaData); try { securityIdentity.runAs((PrivilegedExceptionAction<Void>) () -> { context.proceed(); return null; }); } catch (PrivilegedActionException e) { Throwable cause = e.getCause(); if (cause instanceof ServletException) { throw (ServletException) cause; } throw new ServletException(cause); } } else { context.proceed(); } }
private void handle(ServletInfo servletInfo, LifecycleContext context) throws ServletException { RunAsIdentityMetaData identity = null; RunAs old = null; SecurityContext sc = SecurityActions.getSecurityContext(); if (sc == null) { context.proceed(); return; } try { identity = runAsIdentityMetaDataMap.get(servletInfo.getName()); RunAsIdentity runAsIdentity = null; if (identity != null) { UndertowLogger.ROOT_LOGGER.tracef("%s, runAs: %s", servletInfo.getName(), identity); runAsIdentity = new RunAsIdentity(identity.getRoleName(), identity.getPrincipalName(), identity.getRunAsRoles()); } old = SecurityActions.setRunAsIdentity(runAsIdentity, sc); // Perform the request context.proceed(); } finally { if (identity != null) { SecurityActions.setRunAsIdentity(old, sc); } } }
private void handle(ServletInfo servletInfo, LifecycleContext context) throws ServletException { RunAsIdentityMetaData identity = null; RunAs old = null; SecurityContext sc = SecurityActions.getSecurityContext(); if (sc == null) { context.proceed(); return; } try { identity = runAsIdentityMetaDataMap.get(servletInfo.getName()); RunAsIdentity runAsIdentity = null; if (identity != null) { UndertowLogger.ROOT_LOGGER.tracef("%s, runAs: %s", servletInfo.getName(), identity); runAsIdentity = new RunAsIdentity(identity.getRoleName(), identity.getPrincipalName(), identity.getRunAsRoles()); } old = SecurityActions.setRunAsIdentity(runAsIdentity, sc); // Perform the request context.proceed(); } finally { if (identity != null) { SecurityActions.setRunAsIdentity(old, sc); } } }
@Override public void init(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); }
@Override public void init(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); }
@Override public void destroy(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); }
@Override public void init(ServletInfo servletInfo, Servlet servlet, LifecycleContext context) throws ServletException { if (servletInfo.getRunAs() != null) { handle(servletInfo, context); } else { context.proceed(); } }
@Override public void destroy(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); } }
@Override public void destroy(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); } }
@Override public void init(ServletInfo servletInfo, Servlet servlet, LifecycleContext context) throws ServletException { if (servletInfo.getRunAs() != null) { handle(servletInfo, context); } else { context.proceed(); } }
@Override public void init(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); }
@Override public void init(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); }
@Override public void init(ServletInfo servletInfo, Servlet servlet, LifecycleContext context) throws ServletException { if (servletInfo.getRunAs() != null) { handle(servletInfo, context); } else { context.proceed(); } }
@Override public void destroy(FilterInfo filterInfo, Filter filter, LifecycleContext context) throws ServletException { context.proceed(); } }