Search in sources :

Example 1 with Nameable

use of org.apache.shiro.util.Nameable in project shiro by apache.

the class ShiroFilterFactoryBean method createFilterChainManager.

protected FilterChainManager createFilterChainManager() {
    DefaultFilterChainManager manager = new DefaultFilterChainManager();
    Map<String, Filter> defaultFilters = manager.getFilters();
    // apply global settings if necessary:
    for (Filter filter : defaultFilters.values()) {
        applyGlobalPropertiesIfNecessary(filter);
    }
    // Apply the acquired and/or configured filters:
    Map<String, Filter> filters = getFilters();
    if (!CollectionUtils.isEmpty(filters)) {
        for (Map.Entry<String, Filter> entry : filters.entrySet()) {
            String name = entry.getKey();
            Filter filter = entry.getValue();
            applyGlobalPropertiesIfNecessary(filter);
            if (filter instanceof Nameable) {
                ((Nameable) filter).setName(name);
            }
            // 'init' argument is false, since Spring-configured filters should be initialized
            // in Spring (i.e. 'init-method=blah') or implement InitializingBean:
            manager.addFilter(name, filter, false);
        }
    }
    // build up the chains:
    Map<String, String> chains = getFilterChainDefinitionMap();
    if (!CollectionUtils.isEmpty(chains)) {
        for (Map.Entry<String, String> entry : chains.entrySet()) {
            String url = entry.getKey();
            String chainDefinition = entry.getValue();
            manager.createChain(url, chainDefinition);
        }
    }
    return manager;
}
Also used : Nameable(org.apache.shiro.util.Nameable) DefaultFilterChainManager(org.apache.shiro.web.filter.mgt.DefaultFilterChainManager) AuthenticationFilter(org.apache.shiro.web.filter.authc.AuthenticationFilter) AuthorizationFilter(org.apache.shiro.web.filter.authz.AuthorizationFilter) AccessControlFilter(org.apache.shiro.web.filter.AccessControlFilter) AbstractShiroFilter(org.apache.shiro.web.servlet.AbstractShiroFilter) Filter(javax.servlet.Filter) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Aggregations

LinkedHashMap (java.util.LinkedHashMap)1 Map (java.util.Map)1 Filter (javax.servlet.Filter)1 Nameable (org.apache.shiro.util.Nameable)1 AccessControlFilter (org.apache.shiro.web.filter.AccessControlFilter)1 AuthenticationFilter (org.apache.shiro.web.filter.authc.AuthenticationFilter)1 AuthorizationFilter (org.apache.shiro.web.filter.authz.AuthorizationFilter)1 DefaultFilterChainManager (org.apache.shiro.web.filter.mgt.DefaultFilterChainManager)1 AbstractShiroFilter (org.apache.shiro.web.servlet.AbstractShiroFilter)1