Example usage for org.apache.shiro.cas CasFilter CasFilter

List of usage examples for org.apache.shiro.cas CasFilter CasFilter

Introduction

In this page you can find the example usage for org.apache.shiro.cas CasFilter CasFilter.

Prototype

CasFilter

Source Link

Usage

From source file:com.whatlookingfor.core.config.ShiroConfiguration.java

License:Apache License

/**
 * CAS?/*from   www .  jav a  2s .  com*/
 * @return CasFilter
 */
@Bean(name = "casFilter")
public CasFilter casFilter() {
    CasFilter casFilter = new CasFilter();
    casFilter.setFailureUrl(adminPath + "/login");
    return casFilter;
}

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 .jav  a 2s .  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);
}