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

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

Introduction

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

Prototype

public void addFilter(String name, Filter filter) 

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//  www .  j ava  2 s  . co 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;
}

From source file:io.bootique.shiro.web.MappedShiroFilterFactory.java

License:Apache License

protected FilterChainResolver createChainResolver(Map<String, Filter> chainFilters) {
    DefaultFilterChainManager chainManager = new DefaultFilterChainManager();

    // load filters
    chainFilters.forEach((name, filter) -> chainManager.addFilter(name, filter));

    if (urls != null) {
        urls.forEach((url, value) -> {
            LOGGER.info("Loading url chain {} -> {}", url, value);
            chainManager.createChain(url, value);
        });//w w  w .ja v  a2  s .c  o  m
    }

    PathMatchingFilterChainResolver resolver = new PathMatchingFilterChainResolver();
    resolver.setFilterChainManager(chainManager);
    return resolver;
}

From source file:zcu.xutil.misc.ShiroFilterFactory.java

License:Apache License

public AbstractShiroFilter getShiroFilter() {
    DefaultFilterChainManager manager = new DefaultFilterChainManager();
    for (Filter filter : manager.getFilters().values())
        applyGlobalPropertiesIfNecessary(filter);
    for (Map.Entry<String, Filter> entry : filters.entrySet()) {
        applyGlobalPropertiesIfNecessary(entry.getValue());
        manager.addFilter(entry.getKey(), entry.getValue());
    }/*from w ww . java 2 s. c o  m*/
    Ini ini = new Ini();
    ini.load(definitions);
    Ini.Section section = ini.getSection(IniFilterChainResolverFactory.URLS);
    if (CollectionUtils.isEmpty(section))
        section = ini.getSection(Ini.DEFAULT_SECTION_NAME);
    for (Map.Entry<String, String> entry : section.entrySet())
        manager.createChain(entry.getKey(), entry.getValue());
    PathMatchingFilterChainResolver chainResolver = new PathMatchingFilterChainResolver();
    chainResolver.setFilterChainManager(manager);
    return new XSFilter((WebSecurityManager) securityManager, chainResolver);
}