Example usage for org.apache.shiro.web.env EnvironmentLoaderListener EnvironmentLoaderListener

List of usage examples for org.apache.shiro.web.env EnvironmentLoaderListener EnvironmentLoaderListener

Introduction

In this page you can find the example usage for org.apache.shiro.web.env EnvironmentLoaderListener EnvironmentLoaderListener.

Prototype

EnvironmentLoaderListener

Source Link

Usage

From source file:annis.service.internal.AnnisServiceRunner.java

License:Apache License

private void createWebServer() {

    // create beans
    ctx = new GenericXmlApplicationContext();
    ctx.setValidating(false);/*from  w w  w .j a  v a2  s.c  o m*/
    AnnisXmlContextHelper.prepareContext(ctx);
    ctx.load("file:" + Utils.getAnnisFile("conf/spring/Service.xml").getAbsolutePath());
    ctx.refresh();

    ResourceConfig rc = new PackagesResourceConfig("annis.service.internal", "annis.provider",
            "annis.rest.provider");

    final IoCComponentProviderFactory factory = new SpringComponentProviderFactory(rc, ctx);

    int port = overridePort == null ? ctx.getBean(QueryServiceImpl.class).getPort() : overridePort;
    try {
        // only allow connections from localhost
        // if the administrator wants to allow external acccess he *has* to
        // use a HTTP proxy which also should use SSL encryption
        InetSocketAddress addr = new InetSocketAddress("localhost", port);
        server = new Server(addr);

        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
        context.setContextPath("/");

        server.setHandler(context);
        server.setThreadPool(new ExecutorThreadPool());

        ServletContainer jerseyContainer = new ServletContainer(rc) {
            @Override
            protected void initiate(ResourceConfig rc, WebApplication wa) {
                wa.initiate(rc, factory);
            }
        };

        ServletHolder holder = new ServletHolder(jerseyContainer);
        context.addServlet(holder, "/*");
        context.setInitParameter(EnvironmentLoader.ENVIRONMENT_CLASS_PARAM,
                MultipleIniWebEnvironment.class.getName());

        if (useAuthentification) {
            log.info("Using authentification");
            context.setInitParameter(EnvironmentLoader.CONFIG_LOCATIONS_PARAM,
                    "file:" + System.getProperty("annis.home") + "/conf/shiro.ini," + "file:"
                            + System.getProperty("annis.home") + "/conf/develop_shiro.ini");
        } else {
            log.warn("*NOT* using authentification, your ANNIS service *IS NOT SECURED*");
            context.setInitParameter(EnvironmentLoader.CONFIG_LOCATIONS_PARAM,
                    "file:" + System.getProperty("annis.home") + "/conf/shiro_no_security.ini");
        }

        EnumSet<DispatcherType> gzipDispatcher = EnumSet.of(DispatcherType.REQUEST);
        context.addFilter(GzipFilter.class, "/*", gzipDispatcher);

        // configure Apache Shiro with the web application
        context.addEventListener(new EnvironmentLoaderListener());
        EnumSet<DispatcherType> shiroDispatchers = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD,
                DispatcherType.INCLUDE, DispatcherType.ERROR);
        context.addFilter(ShiroFilter.class, "/*", shiroDispatchers);

    } catch (IllegalArgumentException ex) {
        log.error("IllegalArgumentException at ANNIS service startup", ex);
        isShutdownRequested = true;
        errorCode = 101;
    } catch (NullPointerException ex) {
        log.error("NullPointerException at ANNIS service startup", ex);
        isShutdownRequested = true;
        errorCode = 101;
    } catch (AnnisRunnerException ex) {
        errorCode = ex.getExitCode();
    }

}

From source file:com.ning.billing.server.security.TestTenantFilter.java

License:Apache License

@Override
protected Iterable<EventListener> getListeners() {
    return new Iterable<EventListener>() {
        @Override// w  ww. j a  va2 s.co m
        public Iterator<EventListener> iterator() {
            return ImmutableList.<EventListener>of(listener, new EnvironmentLoaderListener()).iterator();
        }
    };
}

From source file:org.apache.hadoop.gateway.security.ShiroEmbeddedLdapTest.java

License:Apache License

@Before
public void setupTest() throws Exception {
    ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
    context.setContextPath("/");
    context.addEventListener(new EnvironmentLoaderListener());

    // Add root ShiroFilter, all remaining filters and filter chains are defined in shiro.ini's [urls] section.
    FilterHolder filterHolder = new FilterHolder(new ShiroFilter());
    ServletHolder servletHolder = new ServletHolder(new MockServlet());

    EnumSet<DispatcherType> types = EnumSet.allOf(DispatcherType.class);
    context.addFilter(filterHolder, "/*", types);
    context.addFilter(new FilterHolder(new TestFilter()), "/*", types);
    context.addServlet(servletHolder, "/*");

    jetty = new Server(findFreePort());
    jetty.setHandler(context);/*  w w  w  . ja  v a2s. com*/
    jetty.start();
}

From source file:org.apache.zeppelin.server.ZeppelinServer.java

License:Apache License

private static void setupRestApiContextHandler(WebAppContext webapp, ZeppelinConfiguration conf) {
    final ServletHolder servletHolder = new ServletHolder(new org.glassfish.jersey.servlet.ServletContainer());

    servletHolder.setInitParameter("javax.ws.rs.Application", ZeppelinServer.class.getName());
    servletHolder.setName("rest");
    servletHolder.setForcedPath("rest");
    webapp.setSessionHandler(new SessionHandler());
    webapp.addServlet(servletHolder, "/api/*");

    String shiroIniPath = conf.getShiroPath();
    if (!StringUtils.isBlank(shiroIniPath)) {
        webapp.setInitParameter("shiroConfigLocations", new File(shiroIniPath).toURI().toString());
        webapp.addFilter(ShiroFilter.class, "/api/*", EnumSet.allOf(DispatcherType.class))
                .setInitParameter("staticSecurityManagerEnabled", "true");
        webapp.addEventListener(new EnvironmentLoaderListener());
    }//w  w w  .  j a v  a  2 s. c om
}

From source file:org.qi4j.library.shiro.web.WebServletShiroTest.java

License:Open Source License

@Test
public void test() throws Exception {
    int port = FreePortFinder.findFreePortOnLoopback(9001);
    Server server = new Server(port);
    try {/*from   w ww  .  jav a 2 s . c  o  m*/

        ServletContextHandler context = new ServletContextHandler();
        context.setContextPath("/");

        context.setInitParameter("shiroConfigLocations", "classpath:web-shiro.ini");
        context.addEventListener(new EnvironmentLoaderListener());

        context.addFilter(ShiroFilter.class, "/*", EnumSet.of(REQUEST, FORWARD, INCLUDE, ERROR));

        server.setHandler(context);
        server.start();

        // HttpClient client = new DefaultHttpClient();
        // String result = client.execute( new HttpGet( "http://127.0.0.1:" + port + "/" ), new BasicResponseHandler() );

    } finally {
        server.stop();
    }

}