/** * Setup cross-origin requests (CORS) filter. * @param b - builder */ private void setupCORSFilter(Builder b) { FilterHolder holder = new FilterHolder(); holder.setClassName(CrossOriginFilter.class.getName()); Map<String, String> params = new HashMap<>(); params.put(CrossOriginFilter.ALLOWED_ORIGINS, b.allowedOrigins); params.put(CrossOriginFilter.ALLOWED_METHODS, b.allowedMethods); params.put(CrossOriginFilter.ALLOWED_HEADERS, b.allowedHeaders); holder.setInitParameters(params); ServletHandler handler = webAppContext.getServletHandler(); handler.addFilterWithMapping(holder, "/*", FilterMapping.ALL); }
/** * Secure the web server with kerberos (AuthenticationFilter). */ void setupSpnegoFilter(Builder b) throws IOException { Map<String, String> params = new HashMap<String, String>(); params.put("kerberos.principal", SecurityUtil.getServerPrincipal(b.spnegoPrincipal, b.host)); params.put("kerberos.keytab", b.spnegoKeytab); params.put(AuthenticationFilter.AUTH_TYPE, "kerberos"); FilterHolder holder = new FilterHolder(); holder.setClassName(AuthenticationFilter.class.getName()); holder.setInitParameters(params); ServletHandler handler = webAppContext.getServletHandler(); handler.addFilterWithMapping( holder, "/*", FilterMapping.ALL); }
static void addCSRFFilter(ServletContextHandler ctxHandler, Configuration conf) { restCSRFEnabled = conf.getBoolean(REST_CSRF_ENABLED_KEY, REST_CSRF_ENABLED_DEFAULT); if (restCSRFEnabled) { Map<String, String> restCsrfParams = RestCsrfPreventionFilter .getFilterParams(conf, "hbase.rest-csrf."); FilterHolder holder = new FilterHolder(); holder.setName("csrf"); holder.setClassName(RestCsrfPreventionFilter.class.getName()); holder.setInitParameters(restCsrfParams); ctxHandler.addFilter(holder, PATH_SPEC_ANY, EnumSet.allOf(DispatcherType.class)); } }
private static FilterHolder getFilterHolder(String name, String classname, Map<String, String> parameters) { FilterHolder holder = new FilterHolder(); holder.setName(name); holder.setClassName(classname); if (parameters != null) { holder.setInitParameters(parameters); } return holder; }
/** * Config filters. * @param context Servlet context * @param filtersConfs filter confs */ public static void configFilters(ServletContextHandler context, List<FilterConfiguration> filtersConfs) { context.addFilter(corsFilterHandle(), "/*", EnumSet.allOf(DispatcherType.class)); for (FilterConfiguration filterConf : filtersConfs) { String filterName = filterConf.getFilterName(); String filterClass = filterConf.getFilterClass(); Map<String, String> filterParams = filterConf.getFilterParams(); if (filterClass != null) { FilterHolder filterHolder = new FilterHolder(); filterHolder.setClassName(filterClass); if (filterName != null) { filterHolder.setName(filterName); } else { filterHolder.setName(filterClass); } if (filterParams != null) { filterHolder.setInitParameters(filterParams); } else { filterHolder.setInitParameters(new HashMap<>()); } context.addFilter(filterHolder, "/*", EnumSet.allOf(DispatcherType.class)); } } context.addFilter(mkAccessLoggingFilterHandle(), "/*", EnumSet.allOf(DispatcherType.class)); }
public static void addAuthenticationFilterChain( ServletContextHandler root, List<Authenticator> authenticators ) { for (Authenticator authenticator : authenticators) { FilterHolder holder = new FilterHolder( new AuthenticationWrappingFilter(authenticator.getFilter()) ); if (authenticator.getInitParameters() != null) { holder.setInitParameters(authenticator.getInitParameters()); } root.addFilter( holder, "/*", null ); } }
public static void addExtensionFilters(ServletContextHandler handler, Injector injector) { Set<ServletFilterHolder> extensionFilters = injector.getInstance(Key.get(new TypeLiteral<Set<ServletFilterHolder>>(){})); for (ServletFilterHolder servletFilterHolder : extensionFilters) { // Check the Filter first to guard against people who don't read the docs and return the Class even // when they have an instance. FilterHolder holder; if (servletFilterHolder.getFilter() != null) { holder = new FilterHolder(servletFilterHolder.getFilter()); } else if (servletFilterHolder.getFilterClass() != null) { holder = new FilterHolder(servletFilterHolder.getFilterClass()); } else { throw new ISE("Filter[%s] for path[%s] didn't have a Filter!?", servletFilterHolder, servletFilterHolder.getPath()); } if (servletFilterHolder.getInitParameters() != null) { holder.setInitParameters(servletFilterHolder.getInitParameters()); } handler.addFilter(holder, servletFilterHolder.getPath(), servletFilterHolder.getDispatcherType()); } }
/** * Define a filter for a context and set up default url mappings. */ public static void defineFilter(ServletContextHandler handler, String name, String classname, Map<String,String> parameters, String[] urls) { FilterHolder holder = new FilterHolder(); holder.setName(name); holder.setClassName(classname); if (parameters != null) { holder.setInitParameters(parameters); } FilterMapping fmap = new FilterMapping(); fmap.setPathSpecs(urls); fmap.setDispatches(FilterMapping.ALL); fmap.setFilterName(name); handler.getServletHandler().addFilter(holder, fmap); }
public void addFilter(Class<? extends Filter> filterClass, String pathSpec, EnumSet<DispatcherType> dispatches, Map<String, String> initParameters) { FilterHolder servletHolder = context.addFilter(filterClass, pathSpec, dispatches); servletHolder.setInitParameters(initParameters); }
public void addFilter(Class<? extends Filter> filterClass, String pathSpec, Set<DispatcherType> dispatches, Map<String, String> initParameters) { FilterHolder servletHolder = context.addFilter(filterClass, pathSpec, EnumSet.copyOf( dispatches)); servletHolder.setInitParameters(initParameters); }
@Override public List<FilterDesc> getFilters() { List<FilterDesc> filters = new ArrayList<>(); String authMethod = config.get(ServerConfig.SENTRY_WEB_SECURITY_TYPE); if (!ServerConfig.SENTRY_WEB_SECURITY_TYPE_NONE.equalsIgnoreCase(authMethod)) { /** * SentryAuthFilter is a subclass of AuthenticationFilter and * AuthenticationFilter tagged as private and unstable interface: * While there are not guarantees that this interface will not change, * it is fairly stable and used by other projects (ie - Oozie) */ FilterHolder sentryAuthFilterHolder = new FilterHolder(SentryAuthFilter.class); sentryAuthFilterHolder.setInitParameters(loadWebAuthenticationConf(config)); filters.add(FilterDesc.of("/*", sentryAuthFilterHolder, EnumSet.of(DispatcherType.REQUEST))); } return filters; }
/** * Setup cross-origin requests (CORS) filter. * @param b - builder */ private void setupCORSFilter(Builder b) { FilterHolder holder = new FilterHolder(); holder.setClassName(CrossOriginFilter.class.getName()); Map<String, String> params = new HashMap<>(); params.put(CrossOriginFilter.ALLOWED_ORIGINS, b.allowedOrigins); params.put(CrossOriginFilter.ALLOWED_METHODS, b.allowedMethods); params.put(CrossOriginFilter.ALLOWED_HEADERS, b.allowedHeaders); holder.setInitParameters(params); ServletHandler handler = webAppContext.getServletHandler(); handler.addFilterWithMapping(holder, "/*", FilterMapping.ALL); }
static void addCSRFFilter(ServletContextHandler ctxHandler, Configuration conf) { restCSRFEnabled = conf.getBoolean(REST_CSRF_ENABLED_KEY, REST_CSRF_ENABLED_DEFAULT); if (restCSRFEnabled) { Map<String, String> restCsrfParams = RestCsrfPreventionFilter .getFilterParams(conf, "hbase.rest-csrf."); FilterHolder holder = new FilterHolder(); holder.setName("csrf"); holder.setClassName(RestCsrfPreventionFilter.class.getName()); holder.setInitParameters(restCsrfParams); ctxHandler.addFilter(holder, PATH_SPEC_ANY, EnumSet.allOf(DispatcherType.class)); } }
/** * Secure the web server with kerberos (AuthenticationFilter). */ void setupSpnegoFilter(Builder b) throws IOException { Map<String, String> params = new HashMap<String, String>(); params.put("kerberos.principal", SecurityUtil.getServerPrincipal(b.spnegoPrincipal, b.host)); params.put("kerberos.keytab", b.spnegoKeytab); params.put(AuthenticationFilter.AUTH_TYPE, "kerberos"); FilterHolder holder = new FilterHolder(); holder.setClassName(AuthenticationFilter.class.getName()); holder.setInitParameters(params); ServletHandler handler = webAppContext.getServletHandler(); handler.addFilterWithMapping( holder, "/*", FilterMapping.ALL); }
static void addCSRFFilter(ServletContextHandler ctxHandler, Configuration conf) { restCSRFEnabled = conf.getBoolean(REST_CSRF_ENABLED_KEY, REST_CSRF_ENABLED_DEFAULT); if (restCSRFEnabled) { Map<String, String> restCsrfParams = RestCsrfPreventionFilter .getFilterParams(conf, "hbase.rest-csrf."); FilterHolder holder = new FilterHolder(); holder.setName("csrf"); holder.setClassName(RestCsrfPreventionFilter.class.getName()); holder.setInitParameters(restCsrfParams); ctxHandler.addFilter(holder, PATH_SPEC_ANY, EnumSet.allOf(DispatcherType.class)); } }
static void addFilters( ServletContextHandler root, Iterable<ServiceReference<Filter>> filters ) { // Iterate the available filters and add them to the server for( ServiceReference<Filter> filter : filters ) { FilterInfo filterInfo = filter.metaInfo( FilterInfo.class ); String filterPath = filterInfo.getPath(); Filter filterInstance = filter.get(); FilterHolder holder = new FilterHolder( filterInstance ); holder.setInitParameters( filterInfo.initParameters() ); root.addFilter( holder, filterPath, filterInfo.dispatchers() ); } }
static void addFilters( ServletContextHandler root, Iterable<ServiceReference<Filter>> filters ) { // Iterate the available filters and add them to the server for( ServiceReference<Filter> filter : filters ) { FilterInfo filterInfo = filter.metaInfo( FilterInfo.class ); String filterPath = filterInfo.getPath(); Filter filterInstance = filter.get(); FilterHolder holder = new FilterHolder( filterInstance ); holder.setInitParameters( filterInfo.initParameters() ); root.addFilter( holder, filterPath, filterInfo.dispatchers() ); } }
static void addFilters( ServletContextHandler root, Iterable<ServiceReference<Filter>> filters ) { // Iterate the available filters and add them to the server for( ServiceReference<Filter> filter : filters ) { FilterInfo filterInfo = filter.metaInfo( FilterInfo.class ); String filterPath = filterInfo.getPath(); Filter filterInstance = filter.get(); FilterHolder holder = new FilterHolder( filterInstance ); holder.setInitParameters( filterInfo.initParameters() ); root.addFilter( holder, filterPath, filterInfo.dispatchers() ); } }
/** * Define a filter for a context and set up default url mappings. */ public static void defineFilter(ServletContextHandler handler, String name, String classname, Map<String,String> parameters, String[] urls) { FilterHolder holder = new FilterHolder(); holder.setName(name); holder.setClassName(classname); if (parameters != null) { holder.setInitParameters(parameters); } FilterMapping fmap = new FilterMapping(); fmap.setPathSpecs(urls); fmap.setDispatches(FilterMapping.ALL); fmap.setFilterName(name); handler.getServletHandler().addFilter(holder, fmap); }
/** * Define a filter for a context and set up default url mappings. */ public static void defineFilter(ServletContextHandler handler, String name, String classname, Map<String,String> parameters, String[] urls) { FilterHolder holder = new FilterHolder(); holder.setName(name); holder.setClassName(classname); if (parameters != null) { holder.setInitParameters(parameters); } FilterMapping fmap = new FilterMapping(); fmap.setPathSpecs(urls); fmap.setDispatches(FilterMapping.ALL); fmap.setFilterName(name); handler.getServletHandler().addFilter(holder, fmap); }