Example usage for org.apache.shiro.spring.web ShiroFilterFactoryBean getFilters

List of usage examples for org.apache.shiro.spring.web ShiroFilterFactoryBean getFilters

Introduction

In this page you can find the example usage for org.apache.shiro.spring.web ShiroFilterFactoryBean getFilters.

Prototype

public Map<String, Filter> getFilters() 

Source Link

Document

Returns the filterName-to-Filter map of filters available for reference when defining filter chain definitions.

Usage

From source file:cn.fh.starter.shiro.autoconfigure.ShiroAutoConfiguration.java

License:Apache License

@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean//w  w w  .  ja v  a 2  s  . c o  m
public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultSecurityManager securityManager, Realm realm,
        ShiroFilterRegistry registry) {
    securityManager.setRealm(realm);

    Map<String, String> filterDef = swapKeyValue(properties.getFilterChainDefinitions());
    log.info("?: {}", filterDef);
    log.info(": {}", registry.getFilterMap());

    ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
    shiroFilter.setSecurityManager(securityManager);
    shiroFilter.setLoginUrl(properties.getLoginUrl());
    shiroFilter.setSuccessUrl(properties.getSuccessUrl());
    shiroFilter.setUnauthorizedUrl(properties.getUnauthorizedUrl());

    shiroFilter.setFilterChainDefinitionMap(filterDef);
    shiroFilter.getFilters().putAll(registry.getFilterMap());

    return shiroFilter;
}

From source file:com.iyihua.commerce.web.seller.config.shiro.ShiroAutoConfiguration.java

License:Apache License

@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean/*from  w w  w  .jav a  2s .c o m*/
public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultSecurityManager securityManager, Realm realm) {
    MyRealm myRealm = (MyRealm) realm;
    securityManager.setRealm(myRealm);

    //       session,????session
    String enableShare = properties.getEnableShareJsession();
    if (enableShare != null && enableShare.equals(enableShare)) {
        DefaultWebSessionManager sessionManager = (DefaultWebSessionManager) securityManager
                .getSessionManager();
        Cookie c = new SimpleCookie();
        c.setDomain(properties.getDomain());
        c.setPath(properties.getPath());
        c.setName(properties.getShareJsessionKey());
        c.setHttpOnly(true);
        sessionManager.setSessionIdCookie(c);
    }

    ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
    Map<String, Filter> filters = shiroFilter.getFilters();
    filters.put("super", new MyFormAuthenticationFilter());
    shiroFilter.setSecurityManager(securityManager);
    shiroFilter.setLoginUrl(properties.getLoginUrl());
    shiroFilter.setSuccessUrl(properties.getSuccessUrl());
    shiroFilter.setUnauthorizedUrl(properties.getUnauthorizedUrl());
    shiroFilter.setFilterChainDefinitionMap(properties.getFilterChainDefinitions());
    return shiroFilter;
}

From source file:stroom.security.spring.SecurityConfiguration.java

License:Apache License

@Bean(name = "shiroFilter")
public AbstractShiroFilter shiroFilter() throws Exception {
    final ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
    shiroFilter.setSecurityManager(securityManager());
    shiroFilter.setLoginUrl("/login.html");
    shiroFilter.setSuccessUrl("/stroom.jsp");
    shiroFilter.getFilters().put("jwtFilter", new JWTAuthenticationFilter());
    //        shiroFilter.getFilterChainDefinitionMap().put("/**/secure/*", "authc, roles[USER]");
    shiroFilter.getFilterChainDefinitionMap().put("/rest/*", "jwtFilter");
    shiroFilter.getFilterChainDefinitionMap().put("/rest/**/*", "jwtFilter");
    shiroFilter.getFilterChainDefinitionMap().put("/index", "jwtFilter");
    shiroFilter.getFilterChainDefinitionMap().put("/index/*", "jwtFilter");
    shiroFilter.getFilterChainDefinitionMap().put("/**/rest/*", "jwtFilter");
    return (AbstractShiroFilter) shiroFilter.getObject();
}