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

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

Introduction

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

Prototype

public void setFilterChainDefinitionMap(Map<String, String> filterChainDefinitionMap) 

Source Link

Document

Sets the chainName-to-chainDefinition map of chain definitions to use for creating filter chains intercepted by the Shiro Filter.

Usage

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

License:Apache License

@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean/*from w  ww .jav a  2  s  .c om*/
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.aegeus.core.AuthenticationConfiguration.java

License:Apache License

@Bean
public ShiroFilterFactoryBean shiroFilterBean() {
    Map<String, String> definition = new HashMap<>();
    definition.put("/", "authc, roles[admin]");
    definition.put("/login", "authc");

    /**//from   www.  ja  v  a  2  s .  co m
     * Create shiro servlet filter
     */
    ShiroFilterFactoryBean filter = new ShiroFilterFactoryBean();
    filter.setFilterChainDefinitionMap(definition);
    filter.setLoginUrl("/login");

    filter.setSecurityManager(securityManager());

    LogoutFilter logout = new LogoutFilter();
    logout.setRedirectUrl("/logout");

    Map<String, Filter> filters = new HashMap<>();
    filters.put("anon", new AnonymousFilter());
    filters.put("authc", new FormAuthenticationFilter());
    filters.put("logout", logout);
    filters.put("roles", new RolesAuthorizationFilter());
    filters.put("user", new UserFilter());

    filter.setFilters(filters);

    return filter;
}

From source file:com.carisok.ireports.config.security.shiro.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) {
    MyRealm myRealm = (MyRealm) realm;
    securityManager.setRealm(myRealm);

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

From source file:com.cuisongliu.springboot.shiro.autoconfig.ShiroAutoConfig.java

License:Open Source License

@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(DefaultWebSecurityManager webSecurityManager,
        UserInfoFilter userInfoFilter) {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    shiroFilterFactoryBean.setSecurityManager(webSecurityManager);
    Map<String, Filter> filterMap = new HashMap<>();
    if (springShiroProperties.getEnableServer()) {
        filterMap.put("authc", serverAuthenticationFilter());
    } else {/*from   w w  w. j  av a 2  s . co m*/
        filterMap.put("authc", clientAuthenticationFilter());
    }
    filterMap.put("sysUser", userInfoFilter);
    shiroFilterFactoryBean.setFilters(filterMap);

    String urlPrefix = springShiroProperties.getAppSuperLocal();

    shiroFilterFactoryBean.setSuccessUrl(urlPrefix + springShiroProperties.getSuccessUrl());
    shiroFilterFactoryBean.setLoginUrl(urlPrefix + springShiroProperties.getLoginUrl());
    shiroFilterFactoryBean.setUnauthorizedUrl(urlPrefix + springShiroProperties.getUnauthorizedUrl());

    shiroFilterFactoryBean.setFilterChainDefinitionMap(springShiroProperties.getFilterChainDefinitions());
    return shiroFilterFactoryBean;
}

From source file:com.github.boyazuo.spring.boot.autoconfigure.ShiroAutoConfiguration.java

License:Apache License

@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean//w  ww  .  j av a 2 s .c  om
public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultSecurityManager securityManager, Realm realm) {
    securityManager.setRealm(realm);

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

From source file:com.github.ibole.infrastructure.web.security.spring.shiro.config.ShiroConfig.java

License:Apache License

/**
 * shiroFilter??(????)./* www . ja va  2 s  . c  o m*/
 * ??
 * anonauthcBasicauchcuserpermsrolessslrestport
 * 
 */
private void loadShiroFilterChain(ShiroFilterFactoryBean shiroFilterFactoryBean) {
    Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
    filterChainDefinitionMap.put("/documentation/**", "anon");
    filterChainDefinitionMap.put("/v2/api-docs", "anon");
    filterChainDefinitionMap.put("/configuration/ui", "anon");
    filterChainDefinitionMap.put("/configuration/security", "anon");
    filterChainDefinitionMap.put("/swagger-resources/**", "anon");
    filterChainDefinitionMap.put("/swagger-ui.html", "anon");
    filterChainDefinitionMap.put("/webjars/**", "anon");
    // filterChainDefinitionMap.put("/users/**", "user, anyRoles[system,general]");
    // filterChainDefinitionMap.put("/users/**", "user," + ANY_ROLES + "[system,general]");
    // ?/admins/user/**=rest[user],?/admins/user/**=perms[user:method] ,
    // methodpostgetdelete
    //filterChainDefinitionMap.put("/api/v1/users/**", STATELESS_AUTHC + "," + REST + "[user]");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
}

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

License:Apache License

@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean//from   ww  w . java  2  s .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();
    shiroFilter.setSecurityManager(securityManager);
    shiroFilter.setLoginUrl(properties.getLoginUrl());
    shiroFilter.setSuccessUrl(properties.getSuccessUrl());
    shiroFilter.setUnauthorizedUrl(properties.getUnauthorizedUrl());
    shiroFilter.setFilterChainDefinitionMap(properties.getFilterChainDefinitions());
    return shiroFilter;
}

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

License:Apache License

@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean//  ww w .j  a v  a  2s  .co  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:com.iyihua.itimes.config.security.shiro.ShiroAutoConfiguration.java

License:Apache License

@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean/*from   ww w  . java 2 s.  com*/
public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultSecurityManager securityManager, Realm realm) {
    MyRealm myRealm = (MyRealm) realm;
    //      HashedCredentialsMatcher credentialsMatcher = new HashedCredentialsMatcher();
    //      credentialsMatcher.setHashAlgorithmName(Md5Hash.ALGORITHM_NAME);
    //      myRealm.setCredentialsMatcher(credentialsMatcher);

    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();
    shiroFilter.setSecurityManager(securityManager);
    shiroFilter.setLoginUrl(properties.getLoginUrl());
    shiroFilter.setSuccessUrl(properties.getSuccessUrl());
    shiroFilter.setUnauthorizedUrl(properties.getUnauthorizedUrl());
    shiroFilter.setFilterChainDefinitionMap(properties.getFilterChainDefinitions());
    return shiroFilter;
}

From source file:com.smile.core.shiro.configuration.ShiroConfiguration.java

License:Apache License

@Bean
protected ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager,
        Filter authenticationFilter, ShiroFilterChainDefinition shiroFilterChainDefinition) {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    shiroFilterFactoryBean.setLoginUrl("/login");
    shiroFilterFactoryBean.setSuccessUrl("/");
    shiroFilterFactoryBean.setUnauthorizedUrl("/unauthorized");
    shiroFilterFactoryBean.setSecurityManager(securityManager);
    Map<String, Filter> filterMap = new HashMap<String, Filter>();
    filterMap.put("authc", authenticationFilter);
    shiroFilterFactoryBean.setFilters(filterMap);
    shiroFilterFactoryBean.setFilterChainDefinitionMap(shiroFilterChainDefinition.getFilterChainMap());
    return shiroFilterFactoryBean;
}