@Override public boolean isUserInRole(final String roleName, final Account account, final ServletInfo servletInfo, final HttpServletRequest request, final Deployment deployment) { return hasPermission(account, deployment, servletInfo, new WebRoleRefPermission(servletInfo.getName(), roleName)); }
private void handleServletMappings(boolean is22OrOlder, Set<String> seenMappings, Map<String, List<ServletMappingMetaData>> servletMappings, ServletInfo s) { List<ServletMappingMetaData> mappings = servletMappings.get(s.getName()); if (mappings != null) { for (ServletMappingMetaData mapping : mappings) { for (String pattern : mapping.getUrlPatterns()) { if (is22OrOlder && !pattern.startsWith("*") && !pattern.startsWith("/")) { pattern = "/" + pattern; } if (!seenMappings.contains(pattern)) { s.addMapping(pattern); seenMappings.add(pattern); } else { UndertowLogger.ROOT_LOGGER.duplicateServletMapping(pattern); } } } } }
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 handleRequest(final HttpServerExchange exchange) throws Exception { SecurityContext sc = exchange.getAttachment(UndertowSecurityAttachments.SECURITY_CONTEXT_ATTACHMENT); RunAsIdentityMetaData identity = null; RunAs old = null; try { final ServletChain servlet = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY).getCurrentServlet(); identity = runAsIdentityMetaDataMap.get(servlet.getManagedServlet().getServletInfo().getName()); RunAsIdentity runAsIdentity = null; if (identity != null) { UndertowLogger.ROOT_LOGGER.tracef("%s, runAs: %s", servlet.getManagedServlet().getServletInfo().getName(), identity); runAsIdentity = new RunAsIdentity(identity.getRoleName(), identity.getPrincipalName(), identity.getRunAsRoles()); } old = SecurityActions.setRunAsIdentity(runAsIdentity, sc); // Perform the request next.handleRequest(exchange); } finally { if (identity != null) { SecurityActions.setRunAsIdentity(old, sc); } } }
String servletName = servletInfo.getName(); String roleName = role; List<SecurityRoleRef> roleRefs = servletInfo.getSecurityRoleRefs();
List<ServletMappingMetaData> list = servletMappings.get(jspServlet.getName()); if(list != null && ! list.isEmpty()) { for (final ServletMappingMetaData mapping : list) {
@Override public String getServletName() { return servletInfo.getName(); }
public DeploymentInfo addServlet(final ServletInfo servlet) { servlets.put(servlet.getName(), servlet); return this; }
public DeploymentInfoFacade addSipServlets(final ServletInfo... servlets) { for (final ServletInfo servlet : servlets) { sipServlets.put(servlet.getName(), servlet); return this; } return this; }
public DeploymentInfoFacade addSipServlets(final ServletInfo... servlets) { for (final ServletInfo servlet : servlets) { sipServlets.put(servlet.getName(), servlet); return this; } return this; }
@Override public String getName() { return super.getServletInfo().getName(); }
public void removeChild(SipServletImpl sipServletImpl) { // super.removeChild(sipServletImpl); Map<String, MobicentsSipServlet> childrenMap = this.deploymentInfoFacade.getChildrenMap(); Map<String, MobicentsSipServlet> childrenMapByClassName = this.deploymentInfoFacade.getChildrenMapByClassName(); childrenMap.remove(sipServletImpl.getName()); childrenMapByClassName.remove(sipServletImpl.getServletInfo().getName()); }
public void removeChild(SipServletImpl sipServletImpl) { // super.removeChild(sipServletImpl); Map<String, MobicentsSipServlet> childrenMap = this.deploymentInfoFacade.getChildrenMap(); Map<String, MobicentsSipServlet> childrenMapByClassName = this.deploymentInfoFacade.getChildrenMapByClassName(); childrenMap.remove(sipServletImpl.getName()); childrenMapByClassName.remove(sipServletImpl.getServletInfo().getName()); }
public void handleUnavailableException(UnavailableException e) { if (e.isPermanent()) { UndertowServletLogger.REQUEST_LOGGER.stoppingServletDueToPermanentUnavailability(getServletInfo().getName(), e); stop(); setPermanentlyUnavailable(true); } else { long until = System.currentTimeMillis() + e.getUnavailableSeconds() * 1000; unavailableUntilUpdater.set(this, until); UndertowServletLogger.REQUEST_LOGGER.stoppingServletUntilDueToTemporaryUnavailability(getServletInfo().getName(), new Date(until), e); } }
public ServletHandler addServlet(final ServletInfo servletInfo) { ManagedServlet managedServlet = new ManagedServlet(servletInfo, deployment.getServletContext()); ServletHandler servletHandler = new ServletHandler(managedServlet); managedServletMap.put(servletInfo.getName(), servletHandler); deployment.addLifecycleObjects(managedServlet); this.servletPaths.invalidate(); return servletHandler; }
static SecurityIdentity mapIdentity(SecurityIdentity securityIdentity, SecurityDomain securityDomain, HttpServerExchange exchange, Function<String, RunAsIdentityMetaData> runAsMapper) { final ServletChain servlet = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY).getCurrentServlet(); RunAsIdentityMetaData runAsMetaData = runAsMapper.apply(servlet.getManagedServlet().getServletInfo().getName()); return performMapping(securityIdentity, securityDomain, runAsMetaData); }
@Override public ServletHandler addServlet(final ServletInfo servletInfo) { SipServletImpl managedServlet = new SipServletImpl(servletInfo, ((ConvergedDeploymentImpl) deployment).getConvergedServletContext()); ServletHandler servletHandler = new ServletHandler(managedServlet); managedServletMap.put(servletInfo.getName(), servletHandler); deployment.addLifecycleObjects(managedServlet); this.servletPaths.invalidate(); return servletHandler; }
@Override public String readAttribute(final HttpServerExchange exchange) { ServletRequestContext src = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY); return src.getCurrentServlet().getManagedServlet().getServletInfo().getName(); }
@Override public void handleRequest(final HttpServerExchange exchange) throws Exception { ServletRequestContext context = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY); ServletInfo servletInfo = context.getCurrentServlet().getManagedServlet().getServletInfo(); MetricsHandler handler = servletHandlers.get(servletInfo.getName()); if(handler != null) { handler.handleRequest(exchange); } else { next.handleRequest(exchange); } } }
@Override public void handleRequest(final HttpServerExchange exchange) throws Exception { ServletRequestContext context = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY); ServletInfo servletInfo = context.getCurrentServlet().getManagedServlet().getServletInfo(); MetricsHandler handler = servletHandlers.get(servletInfo.getName()); if(handler != null) { handler.handleRequest(exchange); } else { next.handleRequest(exchange); } } }