Java Code Examples for org.eclipse.jetty.servlet.ServletContextHandler#SECURITY
The following examples show how to use
org.eclipse.jetty.servlet.ServletContextHandler#SECURITY .
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: Authorizer.java From gcp-token-broker with Apache License 2.0 | 5 votes |
public Authorizer() { // Initialize the logging level setLoggingLevel(); // Download secrets SecretManager.downloadSecrets(); if (AppSettings.getInstance().getBoolean(AppSettings.SYSTEM_CHECK_ENABLED)) { SystemCheck.runChecks(); } // Initialize the Oauth flow initOauthFlow(); // Initialize the context handler int opts = ServletContextHandler.GZIP | ServletContextHandler.SECURITY; ServletContextHandler ctx = new ServletContextHandler(opts); ctx.setContextPath("/"); servlet = new AuthorizerServlet(); ctx.addServlet(new ServletHolder(servlet), "/"); // Instantiate the server server = new Server(new InetSocketAddress(host, port)); server.setHandler(ctx); server.setStopAtShutdown(true); server.setErrorHandler(new CustomErrorHandler()); // Force the server to respect X-Forwarded-* headers for when requests are // forwarded by a proxy. This makes sure, for example, that the "https" scheme // is preserved when TLS is terminated by a load balancer. for (Connector connector : server.getConnectors()) { ConnectionFactory connectionFactory = connector.getDefaultConnectionFactory(); if(connectionFactory instanceof HttpConnectionFactory) { HttpConnectionFactory defaultConnectionFactory = (HttpConnectionFactory) connectionFactory; HttpConfiguration httpConfiguration = defaultConnectionFactory.getHttpConfiguration(); httpConfiguration.addCustomizer(new ForwardedRequestCustomizer()); } } }
Example 2
Source File: GerritRestClientTest.java From gerrit-rest-java-client with Apache License 2.0 | 5 votes |
public String startJetty(Class<? extends HttpServlet> loginServletClass) throws Exception { Server server = new Server(0); ResourceHandler resourceHandler = new ResourceHandler(); MimeTypes mimeTypes = new MimeTypes(); mimeTypes.addMimeMapping("json", "application/json"); resourceHandler.setMimeTypes(mimeTypes); URL url = this.getClass().getResource("."); resourceHandler.setBaseResource(new FileResource(url)); resourceHandler.setWelcomeFiles(new String[] {"changes.json", "projects.json", "account.json"}); ServletContextHandler servletContextHandler = new ServletContextHandler(); servletContextHandler.addServlet(loginServletClass, "/login/"); ServletContextHandler basicAuthContextHandler = new ServletContextHandler(ServletContextHandler.SECURITY); basicAuthContextHandler.setSecurityHandler(basicAuth("foo", "bar", "Gerrit Auth")); basicAuthContextHandler.setContextPath("/a"); HandlerCollection handlers = new HandlerCollection(); handlers.setHandlers(new Handler[] { servletContextHandler, resourceHandler, basicAuthContextHandler }); server.setHandler(handlers); server.start(); Connector connector = server.getConnectors()[0]; String host = "localhost"; int port = connector.getLocalPort(); return String.format("http://%s:%s", host, port); }
Example 3
Source File: JettyServer.java From selenium with Apache License 2.0 | 4 votes |
public JettyServer(BaseServerOptions options, HttpHandler handler) { this.handler = Require.nonNull("Handler", handler); int port = options.getPort() == 0 ? PortProber.findFreePort() : options.getPort(); String host = options.getHostname().orElseGet(() -> { try { return new NetworkUtils().getNonLoopbackAddressOfThisMachine(); } catch (WebDriverException ignored) { return "localhost"; } }); try { this.url = new URL("http", host, port, ""); } catch (MalformedURLException e) { throw new UncheckedIOException(e); } Log.setLog(new JavaUtilLog()); this.server = new org.eclipse.jetty.server.Server( new QueuedThreadPool(options.getMaxServerThreads())); this.servletContextHandler = new ServletContextHandler(ServletContextHandler.SECURITY); ConstraintSecurityHandler securityHandler = (ConstraintSecurityHandler) servletContextHandler.getSecurityHandler(); Constraint disableTrace = new Constraint(); disableTrace.setName("Disable TRACE"); disableTrace.setAuthenticate(true); ConstraintMapping disableTraceMapping = new ConstraintMapping(); disableTraceMapping.setConstraint(disableTrace); disableTraceMapping.setMethod("TRACE"); disableTraceMapping.setPathSpec("/"); securityHandler.addConstraintMapping(disableTraceMapping); Constraint enableOther = new Constraint(); enableOther.setName("Enable everything but TRACE"); ConstraintMapping enableOtherMapping = new ConstraintMapping(); enableOtherMapping.setConstraint(enableOther); enableOtherMapping.setMethodOmissions(new String[]{"TRACE"}); enableOtherMapping.setPathSpec("/"); securityHandler.addConstraintMapping(enableOtherMapping); // Allow CORS: Whether the Selenium server should allow web browser connections from any host if (options.getAllowCORS()) { FilterHolder filterHolder = servletContextHandler.addFilter(CrossOriginFilter.class, "/*", EnumSet .of(DispatcherType.REQUEST)); filterHolder.setInitParameter("allowedMethods", "GET,POST,PUT,DELETE,HEAD"); // Warning user LOG.warning("You have enabled CORS requests from any host. " + "Be careful not to visit sites which could maliciously " + "try to start Selenium sessions on your machine"); } server.setHandler(servletContextHandler); HttpConfiguration httpConfig = new HttpConfiguration(); httpConfig.setSecureScheme("https"); ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(httpConfig)); options.getHostname().ifPresent(http::setHost); http.setPort(getUrl().getPort()); http.setIdleTimeout(500000); server.setConnectors(new Connector[]{http}); }