Java Code Examples for org.apache.tomcat.util.descriptor.web.FilterMap#addURLPatternDecoded()
The following examples show how to use
org.apache.tomcat.util.descriptor.web.FilterMap#addURLPatternDecoded() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TestRequest.java From Tomcat8-Source-Read with MIT License | 6 votes |
private synchronized void init() throws Exception { if (init) return; Tomcat tomcat = getTomcatInstance(); Context root = tomcat.addContext("", TEMP_DIR); Tomcat.addServlet(root, "Bug37794", new Bug37794Servlet()); root.addServletMappingDecoded("/test", "Bug37794"); if (createFilter) { FilterDef failedRequestFilter = new FilterDef(); failedRequestFilter.setFilterName("failedRequestFilter"); failedRequestFilter.setFilterClass( FailedRequestFilter.class.getName()); FilterMap failedRequestFilterMap = new FilterMap(); failedRequestFilterMap.setFilterName("failedRequestFilter"); failedRequestFilterMap.addURLPatternDecoded("/*"); root.addFilterDef(failedRequestFilter); root.addFilterMap(failedRequestFilterMap); } tomcat.start(); setPort(tomcat.getConnector().getLocalPort()); init = true; }
Example 2
Source File: TestRemoteIpFilter.java From Tomcat8-Source-Read with MIT License | 6 votes |
private MockFilterChain testRemoteIpFilter(FilterDef filterDef, Request request) throws LifecycleException, IOException, ServletException { Tomcat tomcat = getTomcatInstance(); Context root = tomcat.addContext("", TEMP_DIR); RemoteIpFilter remoteIpFilter = new RemoteIpFilter(); filterDef.setFilterClass(RemoteIpFilter.class.getName()); filterDef.setFilter(remoteIpFilter); filterDef.setFilterName(RemoteIpFilter.class.getName()); root.addFilterDef(filterDef); FilterMap filterMap = new FilterMap(); filterMap.setFilterName(RemoteIpFilter.class.getName()); filterMap.addURLPatternDecoded("*"); root.addFilterMap(filterMap); getTomcatInstance().start(); MockFilterChain filterChain = new MockFilterChain(); // TEST TesterResponse response = new TesterResponse(); response.setRequest(request); remoteIpFilter.doFilter(request, response, filterChain); return filterChain; }
Example 3
Source File: TestStandardContext.java From Tomcat8-Source-Read with MIT License | 6 votes |
private static void configureTest46243Context(Context context, boolean fail) { // Add a test filter that fails FilterDef filterDef = new FilterDef(); filterDef.setFilterClass(Bug46243Filter.class.getName()); filterDef.setFilterName("Bug46243"); filterDef.addInitParameter("fail", Boolean.toString(fail)); context.addFilterDef(filterDef); FilterMap filterMap = new FilterMap(); filterMap.setFilterName("Bug46243"); filterMap.addURLPatternDecoded("*"); context.addFilterMap(filterMap); // Add a test servlet so there is something to generate a response if // it works (although it shouldn't) Tomcat.addServlet(context, "Bug46243", new HelloWorldServlet()); context.addServletMappingDecoded("/", "Bug46243"); }
Example 4
Source File: TestRestCsrfPreventionFilter2.java From Tomcat8-Source-Read with MIT License | 5 votes |
private void setUpApplication() throws Exception { context = tomcat.addContext(CONTEXT_PATH_LOGIN, System.getProperty("java.io.tmpdir")); context.setSessionTimeout(SHORT_SESSION_TIMEOUT_MINS); Tomcat.addServlet(context, SERVLET_NAME, new TesterServlet()); context.addServletMappingDecoded(URI_PROTECTED, SERVLET_NAME); FilterDef filterDef = new FilterDef(); filterDef.setFilterName(FILTER_NAME); filterDef.setFilterClass(RestCsrfPreventionFilter.class.getCanonicalName()); filterDef.addInitParameter(FILTER_INIT_PARAM, REMOVE_CUSTOMER + "," + ADD_CUSTOMER); context.addFilterDef(filterDef); FilterMap filterMap = new FilterMap(); filterMap.setFilterName(FILTER_NAME); filterMap.addURLPatternDecoded(URI_CSRF_PROTECTED); context.addFilterMap(filterMap); SecurityCollection collection = new SecurityCollection(); collection.addPatternDecoded(URI_PROTECTED); SecurityConstraint sc = new SecurityConstraint(); sc.addAuthRole(ROLE); sc.addCollection(collection); context.addConstraint(sc); LoginConfig lc = new LoginConfig(); lc.setAuthMethod(METHOD); context.setLoginConfig(lc); AuthenticatorBase basicAuthenticator = new BasicAuthenticator(); context.getPipeline().addValve(basicAuthenticator); }
Example 5
Source File: TestContextConfigAnnotation.java From Tomcat8-Source-Read with MIT License | 4 votes |
@Test public void testOverwriteFilterMapping() throws Exception { WebXml webxml = new WebXml(); Map<String,JavaClassCacheEntry> javaClassCache = new HashMap<>(); FilterDef filterDef = new FilterDef(); filterDef.setFilterName("paramFilter"); filterDef.setFilterClass("org.apache.catalina.startup.ParamFilter"); filterDef.addInitParameter("message", "tomcat"); filterDef.setDescription("Description"); filterDef.setDisplayName("DisplayName"); filterDef.setLargeIcon("LargeIcon"); filterDef.setSmallIcon("SmallIcon"); filterDef.setAsyncSupported("true"); webxml.addFilter(filterDef); FilterMap filterMap = new FilterMap(); filterMap.addURLPatternDecoded("/param1"); filterMap.setFilterName("paramFilter"); webxml.addFilterMapping(filterMap); ContextConfig config = new ContextConfig(); File sFile = paramClassResource( "org/apache/catalina/startup/ParamServlet"); config.processAnnotationsFile(sFile, webxml, false, javaClassCache); File fFile = paramClassResource( "org/apache/catalina/startup/ParamFilter"); config.processAnnotationsFile(fFile, webxml, false, javaClassCache); FilterDef fdef = webxml.getFilters().get("paramFilter"); Assert.assertNotNull(fdef); Assert.assertEquals(filterDef,fdef); Assert.assertEquals("tomcat",fdef.getParameterMap().get("message")); Set<FilterMap> filterMappings = webxml.getFilterMappings(); Assert.assertTrue(filterMappings.contains(filterMap)); // annotation mapping not added s. Servlet Spec 3.0 (Nov 2009) // 8.2.3.3.vi page 81 String[] urlPatterns = filterMap.getURLPatterns(); Assert.assertNotNull(urlPatterns); Assert.assertEquals(1,urlPatterns.length); Assert.assertEquals("/param1",urlPatterns[0]); // check simple Parameter Assert.assertEquals("Description", fdef.getDescription()); Assert.assertEquals("DisplayName", fdef.getDisplayName()); Assert.assertEquals("LargeIcon", fdef.getLargeIcon()); Assert.assertEquals("SmallIcon", fdef.getSmallIcon()); // FIXME: Strange why servletDef is Boolean and FilterDef is String? Assert.assertEquals("true", fdef.getAsyncSupported()); String[] dis = filterMap.getDispatcherNames(); Assert.assertEquals(2, dis.length); Assert.assertEquals(DispatcherType.ERROR.toString(),dis[0]); Assert.assertEquals(DispatcherType.ASYNC.toString(),dis[1]); }
Example 6
Source File: TestRemoteIpFilter.java From Tomcat8-Source-Read with MIT License | 4 votes |
@Test public void testWithTomcatServer() throws Exception { // mostly default configuration : enable "x-forwarded-proto" Map<String, String> remoteIpFilterParameter = new HashMap<>(); remoteIpFilterParameter.put("protocolHeader", "x-forwarded-proto"); // SETUP Tomcat tomcat = getTomcatInstance(); Context root = tomcat.addContext("", TEMP_DIR); FilterDef filterDef = new FilterDef(); filterDef.getParameterMap().putAll(remoteIpFilterParameter); filterDef.setFilterClass(RemoteIpFilter.class.getName()); filterDef.setFilterName(RemoteIpFilter.class.getName()); root.addFilterDef(filterDef); FilterMap filterMap = new FilterMap(); filterMap.setFilterName(RemoteIpFilter.class.getName()); filterMap.addURLPatternDecoded("*"); root.addFilterMap(filterMap); MockHttpServlet mockServlet = new MockHttpServlet(); Tomcat.addServlet(root, mockServlet.getClass().getName(), mockServlet); root.addServletMappingDecoded("/test", mockServlet.getClass().getName()); getTomcatInstance().start(); // TEST HttpURLConnection httpURLConnection = (HttpURLConnection) new URL( "http://localhost:" + tomcat.getConnector().getLocalPort() + "/test").openConnection(); String expectedRemoteAddr = "my-remote-addr"; httpURLConnection.addRequestProperty("x-forwarded-for", expectedRemoteAddr); httpURLConnection.addRequestProperty("x-forwarded-proto", "https"); // VALIDATE Assert.assertEquals(HttpURLConnection.HTTP_OK, httpURLConnection.getResponseCode()); HttpServletRequest request = mockServlet.getRequest(); Assert.assertNotNull(request); // VALIDATE X-FORWARDED-FOR Assert.assertEquals(expectedRemoteAddr, request.getRemoteAddr()); Assert.assertEquals(expectedRemoteAddr, request.getRemoteHost()); // VALIDATE X-FORWARDED-PROTO Assert.assertTrue(request.isSecure()); Assert.assertEquals("https", request.getScheme()); Assert.assertEquals(443, request.getServerPort()); }