Search in sources :

Example 1 with ShiroFilterFactoryBean

use of org.apache.shiro.spring.web.ShiroFilterFactoryBean in project tesla by linking12.

the class AuthzConfig method shiroFilterFactoryBean.

@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    shiroFilterFactoryBean.setSecurityManager(securityManager);
    shiroFilterFactoryBean.setLoginUrl("/login");
    shiroFilterFactoryBean.setSuccessUrl("/index");
    shiroFilterFactoryBean.setUnauthorizedUrl("/403");
    LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
    filterChainDefinitionMap.put("/css/**", "anon");
    filterChainDefinitionMap.put("/js/**", "anon");
    filterChainDefinitionMap.put("/fonts/**", "anon");
    filterChainDefinitionMap.put("/img/**", "anon");
    filterChainDefinitionMap.put("/docs/**", "anon");
    filterChainDefinitionMap.put("/druid/**", "anon");
    filterChainDefinitionMap.put("/upload/**", "anon");
    filterChainDefinitionMap.put("/files/**", "anon");
    filterChainDefinitionMap.put("/oauth/**", "anon");
    filterChainDefinitionMap.put("/logout", "logout");
    filterChainDefinitionMap.put("/", "anon");
    filterChainDefinitionMap.put("/**", "authc");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    return shiroFilterFactoryBean;
}
Also used : ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) LinkedHashMap(java.util.LinkedHashMap) InitializingBean(org.springframework.beans.factory.InitializingBean) ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) Bean(org.springframework.context.annotation.Bean)

Example 2 with ShiroFilterFactoryBean

use of org.apache.shiro.spring.web.ShiroFilterFactoryBean in project Ganster-CMS by Gangster-trio.

the class ShiroConfig method shirFilter.

@Bean
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
    System.out.println("ShiroConfiguration.shirFilter()");
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    // 必须设置 SecurityManager
    shiroFilterFactoryBean.setSecurityManager(securityManager);
    // 拦截器.
    Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
    // 配置退出过滤器,其中的具体的退出代码Shiro已经替我们实现了
    filterChainDefinitionMap.put("/logout", "logout");
    // <!-- 过滤链定义,从上向下顺序执行,一般将 /**放在最为下边 -->:这是一个坑呢,一不小心代码就不好使了;
    // <!-- authc:所有url都必须认证通过才可以访问; anon:所有url都都可以匿名访问-->
    filterChainDefinitionMap.put("/login/**", "anon");
    filterChainDefinitionMap.put("/", "authc");
    filterChainDefinitionMap.put("/login", "anon");
    // filterChainDefinitionMap.put("/log", "anon");
    filterChainDefinitionMap.put("/**", "authc");
    // 如果不设置默认会自动寻找Web工程根目录下的"/login.jsp"页面
    shiroFilterFactoryBean.setLoginUrl("/login/index.html");
    // 登录成功后要跳转的链接
    shiroFilterFactoryBean.setSuccessUrl("/index");
    // 未授权界面;
    shiroFilterFactoryBean.setUnauthorizedUrl("/403");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    return shiroFilterFactoryBean;
}
Also used : ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) LinkedHashMap(java.util.LinkedHashMap) ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) Bean(org.springframework.context.annotation.Bean)

Example 3 with ShiroFilterFactoryBean

use of org.apache.shiro.spring.web.ShiroFilterFactoryBean in project Ganster-CMS by Gangster-trio.

the class ShiroConfig method shirFilter.

@Bean
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    // 必须设置 SecurityManager
    shiroFilterFactoryBean.setSecurityManager(securityManager);
    // 拦截器.
    Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
    // 配置退出过滤器,其中的具体的退出代码Shiro已经替我们实现了
    filterChainDefinitionMap.put("/logout", "logout");
    // <!-- 过滤链定义,从上向下顺序执行,一般将 /**放在最为下边 -->:这是一个坑呢,一不小心代码就不好使了;
    // <!-- authc:所有url都必须认证通过才可以访问; anon:所有url都都可以匿名访问-->
    filterChainDefinitionMap.put("/login/**", "anon");
    filterChainDefinitionMap.put("/css/**", "anon");
    filterChainDefinitionMap.put("/fonts/**", "anon");
    filterChainDefinitionMap.put("/", "authc");
    filterChainDefinitionMap.put("/login", "anon");
    filterChainDefinitionMap.put("/**", "authc");
    // 如果不设置默认会自动寻找Web工程根目录下的"/login.jsp"页面
    shiroFilterFactoryBean.setLoginUrl("/login/index.html");
    // 登录成功后要跳转的链接
    shiroFilterFactoryBean.setSuccessUrl("/main");
    // 未授权界面;
    shiroFilterFactoryBean.setUnauthorizedUrl("/403");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    return shiroFilterFactoryBean;
}
Also used : ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) LinkedHashMap(java.util.LinkedHashMap) ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) Bean(org.springframework.context.annotation.Bean)

Example 4 with ShiroFilterFactoryBean

use of org.apache.shiro.spring.web.ShiroFilterFactoryBean in project vip by guangdada.

the class ShiroConfig method shiroFilter.

/**
 * Shiro的过滤器链
 */
@Bean
public ShiroFilterFactoryBean shiroFilter(DefaultWebSecurityManager securityManager) {
    ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
    shiroFilter.setSecurityManager(securityManager);
    /**
     * 默认的登陆访问url
     */
    shiroFilter.setLoginUrl("/login");
    /**
     * 登陆成功后跳转的url
     */
    shiroFilter.setSuccessUrl("/");
    /**
     * 没有权限跳转的url
     */
    shiroFilter.setUnauthorizedUrl("/global/error");
    /**
     * 配置shiro拦截器链
     *
     * anon  不需要认证
     * authc 需要认证
     * user  验证通过或RememberMe登录的都可以
     */
    Map<String, String> hashMap = new HashMap<>();
    hashMap.put("/static/**", "anon");
    hashMap.put("/login", "anon");
    hashMap.put("/area", "anon");
    hashMap.put("/global/sessionError", "anon");
    hashMap.put("/kaptcha", "anon");
    hashMap.put("/files/**", "anon");
    // 外部接口目录
    hashMap.put("/web/**", "anon");
    hashMap.put("/gw/**", "anon");
    hashMap.put("/**", "user");
    shiroFilter.setFilterChainDefinitionMap(hashMap);
    return shiroFilter;
}
Also used : ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) HashMap(java.util.HashMap) ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) MethodInvokingFactoryBean(org.springframework.beans.factory.config.MethodInvokingFactoryBean) EhCacheManagerFactoryBean(org.springframework.cache.ehcache.EhCacheManagerFactoryBean) Bean(org.springframework.context.annotation.Bean)

Example 5 with ShiroFilterFactoryBean

use of org.apache.shiro.spring.web.ShiroFilterFactoryBean in project springBoot-learn-demo by nbfujx.

the class ShiroConfig method shiroFilterFactoryBean.

/**
 * ShiroFilterFactoryBean,是个factorybean,为了生成ShiroFilter。
 * 它主要保持了三项数据,securityManager,filters,filterChainDefinitionManager。
 */
@Bean(name = "shiroFilter")
public ShiroFilterFactoryBean shiroFilterFactoryBean() {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    shiroFilterFactoryBean.setSecurityManager(securityManager());
    Map<String, Filter> filters = new LinkedHashMap<String, Filter>();
    shiroFilterFactoryBean.setFilters(filters);
    Map<String, String> filterChainDefinitionManager = new LinkedHashMap<String, String>();
    filterChainDefinitionManager.put("/login", "anon");
    filterChainDefinitionManager.put("/logout", "anon");
    // "authc,perms[sysUser:*]");
    filterChainDefinitionManager.put("/test/*", "authc,perms");
    // filterChainDefinitionManager.put("/sysMenu/*", "authc,perms");//"authc,perms[sysUser:*]");
    // filterChainDefinitionManager.put("/*", "anon");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionManager);
    shiroFilterFactoryBean.setLoginUrl("/notAuthc");
    // shiroFilterFactoryBean.setUnauthorizedUrl("/notAuthz");
    return shiroFilterFactoryBean;
}
Also used : ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) Filter(javax.servlet.Filter) LinkedHashMap(java.util.LinkedHashMap) ShiroFilterFactoryBean(org.apache.shiro.spring.web.ShiroFilterFactoryBean) Bean(org.springframework.context.annotation.Bean)

Aggregations

ShiroFilterFactoryBean (org.apache.shiro.spring.web.ShiroFilterFactoryBean)12 Bean (org.springframework.context.annotation.Bean)10 LinkedHashMap (java.util.LinkedHashMap)8 Filter (javax.servlet.Filter)2 KickoutSessionFilter (com.cdeledu.core.shiro.filter.KickoutSessionFilter)1 LoginFilter (com.cdeledu.core.shiro.filter.LoginFilter)1 PermissionFilter (com.cdeledu.core.shiro.filter.PermissionFilter)1 RoleFilter (com.cdeledu.core.shiro.filter.RoleFilter)1 UserSessionFilter (com.cdeledu.core.shiro.filter.UserSessionFilter)1 LogoutFilter (com.moon.admin.common.filter.LogoutFilter)1 RestfulFilter (com.moon.admin.common.filter.RestfulFilter)1 HashMap (java.util.HashMap)1 InitializingBean (org.springframework.beans.factory.InitializingBean)1 MethodInvokingFactoryBean (org.springframework.beans.factory.config.MethodInvokingFactoryBean)1 ConditionalOnMissingBean (org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean)1 FilterRegistrationBean (org.springframework.boot.web.servlet.FilterRegistrationBean)1 EhCacheManagerFactoryBean (org.springframework.cache.ehcache.EhCacheManagerFactoryBean)1