Example usage for org.apache.shiro.web.env EnvironmentLoader ENVIRONMENT_CLASS_PARAM

List of usage examples for org.apache.shiro.web.env EnvironmentLoader ENVIRONMENT_CLASS_PARAM

Introduction

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

Prototype

String ENVIRONMENT_CLASS_PARAM

To view the source code for org.apache.shiro.web.env EnvironmentLoader ENVIRONMENT_CLASS_PARAM.

Click Source Link

Document

Servlet Context config param for specifying the WebEnvironment implementation class to use: shiroEnvironmentClass

Usage

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

License:Apache License

private void createWebServer() {

    // create beans
    ctx = new GenericXmlApplicationContext();
    ctx.setValidating(false);/*w w  w  .j a  va2s  . co 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.stormpath.shiro.servlet.env.StormpathShiroEnvironmentLoaderListener.java

License:Apache License

@Override
public void contextInitialized(ServletContextEvent sce) {

    String environmentClassParam = sce.getServletContext()
            .getInitParameter(EnvironmentLoader.ENVIRONMENT_CLASS_PARAM);
    if (!StringUtils.hasText(environmentClassParam)) {
        sce.getServletContext().setInitParameter(EnvironmentLoader.ENVIRONMENT_CLASS_PARAM,
                StormpathShiroIniEnvironment.class.getName());
    }//from  w  w  w. ja v a  2s  . c  o m

    super.contextInitialized(sce);
}