Example usage for org.apache.shiro.web.env IniWebEnvironment init

List of usage examples for org.apache.shiro.web.env IniWebEnvironment init

Introduction

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

Prototype

public void init() 

Source Link

Document

Initializes this instance by resolving any potential (explicit or resource-configured) Ini configuration and calling #configure() configure for actual instance configuration.

Usage

From source file:fathom.shiro.ShiroModule.java

License:Apache License

@Override
protected void setup() {

    String configFile = getSettings().getString("shiro.configurationFile", "classpath:conf/shiro.ini");
    Ini ini = Ini.fromResourcePath(configFile);

    IniWebEnvironment webEnvironment = new IniWebEnvironment();
    webEnvironment.setIni(ini);// w  w w.  j  a  v  a  2s  .  c om
    webEnvironment.setServletContext(getServletContext());
    webEnvironment.init();

    bind(WebEnvironment.class).toInstance(webEnvironment);
    bind(SecurityManager.class).toInstance(webEnvironment.getSecurityManager());
    bind(WebSecurityManager.class).toInstance(webEnvironment.getWebSecurityManager());

    String basePath = Strings.nullToEmpty(getSettings().getString(RestServlet.SETTING_URL, null)).trim();
    filter(basePath + "/*").through(ShiroFilter.class);

    install(new AopModule());
}

From source file:org.everit.osgi.authentication.shiro.simple.DefaultShiroFilter.java

License:Open Source License

public DefaultShiroFilter(final long globalSessionTimeout, final String shiroIniLocation, final Realm realm,
        final String casLoginUrl, final String casFailureUrl) {

    Ini ini = loadIni(shiroIniLocation);

    IniWebEnvironment iniWebEnvironment = new IniWebEnvironment() {

        @Override/*from   ww  w  .j  a v a 2 s.  c  o  m*/
        protected FilterChainResolver createFilterChainResolver() {
            FilterChainResolver filterChainResolver = super.createFilterChainResolver();

            if (realm instanceof CasRealm) {
                if (filterChainResolver instanceof PathMatchingFilterChainResolver) {
                    FilterChainManager filterChainManager = ((PathMatchingFilterChainResolver) filterChainResolver)
                            .getFilterChainManager();
                    Map<String, Filter> filters = filterChainManager.getFilters();
                    for (Filter filter : filters.values()) {
                        if (filter instanceof RolesAuthorizationFilter) {
                            ((RolesAuthorizationFilter) filter).setLoginUrl(casLoginUrl);
                        }
                    }
                }
            }

            return filterChainResolver;
        }

        @Override
        protected WebSecurityManager createWebSecurityManager() {
            DefaultWebSessionManager defaultWebSessionManager = new DefaultWebSessionManager();
            defaultWebSessionManager.setGlobalSessionTimeout(globalSessionTimeout);

            DefaultWebSecurityManager webSecurityManager = new DefaultWebSecurityManager();
            webSecurityManager.setRealm(realm);
            webSecurityManager.setSessionManager(defaultWebSessionManager);
            if (realm instanceof CasRealm) {
                webSecurityManager.setSubjectFactory(new CasSubjectFactory());
                CasFilter casFilter = new CasFilter();
                casFilter.setFailureUrl(casFailureUrl);
                setObject("casFilter", casFilter);
            }
            return webSecurityManager;
        }

    };
    iniWebEnvironment.setIni(ini);
    iniWebEnvironment.init();

    WebSecurityManager securityManager = (WebSecurityManager) iniWebEnvironment.getSecurityManager();
    setSecurityManager(securityManager);

    FilterChainResolver filterChainResolver = iniWebEnvironment.getFilterChainResolver();
    setFilterChainResolver(filterChainResolver);
}

From source file:to.sauerkraut.krautadmin.auth.SecureShiroBundle.java

License:Open Source License

@Override
protected Filter createFilter(final KrautAdminConfiguration configuration) {
    final ShiroConfiguration shiroConfig = narrow(configuration);
    final IniWebEnvironment shiroEnv = new IniWebEnvironment();
    shiroEnv.setConfigLocations(shiroConfig.iniConfigs());
    shiroEnv.init();

    return new SecureShiroFilter(configuration, shiroEnv);
}