Example usage for org.apache.shiro.web.filter.mgt DefaultFilterChainManager addToChain

List of usage examples for org.apache.shiro.web.filter.mgt DefaultFilterChainManager addToChain

Introduction

In this page you can find the example usage for org.apache.shiro.web.filter.mgt DefaultFilterChainManager addToChain.

Prototype

public void addToChain(String chainName, String filterName) 

Source Link

Usage

From source file:com.oakeel.shiro.PtpIniWebEnvironment.java

@Override
protected FilterChainResolver createFilterChainResolver() {
    // FilterChainResolver
    //1? FilterChainResolver
    PathMatchingFilterChainResolver filterChainResolver = new PathMatchingFilterChainResolver();
    //2? FilterChainManager
    DefaultFilterChainManager filterChainManager = new DefaultFilterChainManager();
    //3? Filter//from w w w . j a  v  a  2 s  .  c o m
    DefaultFilter[] filters = DefaultFilter.values();

    for (DefaultFilter filter : filters) {
        filterChainManager.addFilter(filter.name(), (Filter) ClassUtils.newInstance(filter.getFilterClass()));
    }
    //4? URL-Filter 
    filterChainManager.addToChain("/log.xhtml", "authc");
    filterChainManager.addToChain("/unauthorized.xhtml", "anon");
    filterChainManager.addToChain("/**", "authc");
    filterChainManager.addToChain("/**", "roles", "admin");
    //5? Filter 
    FormAuthenticationFilter authcFilter = (FormAuthenticationFilter) filterChainManager.getFilter("authc");

    authcFilter.setLoginUrl("/login.jsp");
    RolesAuthorizationFilter rolesFilter = (RolesAuthorizationFilter) filterChainManager.getFilter("roles");

    rolesFilter.setUnauthorizedUrl("/unauthorized.jsp");
    filterChainResolver.setFilterChainManager(filterChainManager);
    return filterChainResolver;
}