private Filter ssoFilter() { CompositeFilter filter = new CompositeFilter(); List<Filter> filters = new ArrayList<>(); filters.add(ssoFilter(facebook(), "/login/facebook")); filters.add(ssoFilter(github(), "/login/github")); filter.setFilters(filters); return filter; }
private Filter ssoFilter() { CompositeFilter filter = new CompositeFilter(); List<Filter> filters = new ArrayList<>(); filters.add(ssoFilter(facebook(), "/login/facebook")); filters.add(ssoFilter(github(), "/login/github")); filter.setFilters(filters); return filter; }
@Test public void testCompositeFilter() throws ServletException, IOException { ServletContext sc = new MockServletContext(); MockFilter targetFilter = new MockFilter(); MockFilterConfig proxyConfig = new MockFilterConfig(sc); CompositeFilter filterProxy = new CompositeFilter(); filterProxy.setFilters(Arrays.asList(targetFilter)); filterProxy.init(proxyConfig); MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); filterProxy.doFilter(request, response, null); assertNotNull(targetFilter.filterConfig); assertEquals(Boolean.TRUE, request.getAttribute("called")); filterProxy.destroy(); assertNull(targetFilter.filterConfig); }
@Test public void testProfileServlet() throws Exception { Filter filter = new CompositeFilter(); final CallStackElement total = Profiler.activateProfiling("total"); filter.doFilter(new MockHttpServletRequest(), new MockHttpServletResponse(), new MockFilterChain()); Profiler.stop(); final CallStackElement serviceCall = total.getChildren().iterator().next(); assertEquals("CompositeFilter#doFilter", serviceCall.getShortSignature()); }
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; request.setCharacterEncoding(StandardCharsets.UTF_8.name()); String requestURI = request.getRequestURI(); if (!requestURI.endsWith("/")) { requestURI = requestURI + "/"; } for (String bypassUrl : bypassUrls) { if (requestURI.contains(bypassUrl)) { log.trace("Skip URL check: '{}' contains '{}'", requestURI, bypassUrl); chain.doFilter(servletRequest, servletResponse); return; } } super.doFilter(request, response, chain); } }
@Override public void init(FilterConfig filterConfig) throws ServletException { try { Configuration configuration = AppBeans.get(Configuration.NAME); // Fill bypassUrls WebConfig webConfig = configuration.getConfig(WebConfig.class); bypassUrls.addAll(webConfig.getCubaHttpFilterBypassUrls()); bypassUrls.addAll(webConfig.getExternalHttpFilterBypassUrls()); List<Filter> filters = new ArrayList<>(); if (configuration.getConfig(WebAuthConfig.class).getExternalAuthentication()) { try { CubaAuthProvider authProvider = AppBeans.get(CubaAuthProvider.NAME); filters.add(authProvider); } catch (Exception e) { throw new ServletException(e); } } filters.addAll(getHttpRequestFilterBeans()); setFilters(filters); super.init(filterConfig); log.debug("CubaHttpFilter initialized"); } catch (RuntimeException e) { log.error("Error initializing CubaHttpFilter", e); throw e; } }
@Bean public Filter ssoFilter() { CompositeFilter filter = new CompositeFilter(); List<Filter> filters = new ArrayList<>(); filters.add(ssoFilter(wechat(), "/login/wechat")); filter.setFilters(filters); return filter; }
private Filter ssoFilter() { CompositeFilter filter = new CompositeFilter(); filter.setFilters(Arrays.asList(githubFilter(), eidpFilter())); return filter; }
private Filter oauth2Filter() { CompositeFilter filter = new CompositeFilter(); List<Filter> filters = new ArrayList<>(); filters.add(oauth2Filter(facebook(), "/login/facebook", SocialType.FACEBOOK)); filters.add(oauth2Filter(google(), "/login/google", SocialType.GOOGLE)); filter.setFilters(filters); return filter; }
private Filter ssoFilter() { final CompositeFilter filter = new CompositeFilter(); filter.setFilters(Arrays.asList(// ssoFilter(facebook(), "/login/facebook"), // ssoFilter(github(), "/login/github"), // ssoFilter(google(), "/login/google") // )); return filter; }