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

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

Introduction

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

Prototype

public IniWebEnvironment() 

Source Link

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);// www. j  av a  2  s  .  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  w  w w .  j  a  va  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();/*w  ww  . j  a  v a  2  s . c o m*/

    return new SecureShiroFilter(configuration, shiroEnv);
}