alexxiyang / shiro-redis

shiro only provide the support of ehcache and concurrentHashMap. Here is an implement of redis cache can be used by shiro. Hope it will help you!
MIT License
1.17k stars 444 forks source link

NoSuchBeanDefinitionException: No qualifying bean of type 'org.apache.shiro.spring.web.config.ShiroFilterChainDefinition' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} #79

Closed abel-wang-git closed 5 years ago

abel-wang-git commented 5 years ago

在springboot2 中配置出错 @Configuration public class ShiroConfiguration { @Autowired RedisSessionDAO redisSessionDAO; @Autowired RedisCacheManager redisCacheManager;

@Bean public SecurityManager securityManager() { DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(); securityManager.setRealm(myShiroRealm()); securityManager.setCacheManager(redisCacheManager); //注入记住我管理器; securityManager.setRememberMeManager(rememberMeManager()); securityManager.setSessionManager (defaultWebSessionManager ()); //注入缓存管理器; return securityManager; }

alexxiyang commented 5 years ago

是的,shiro 必须定义 ShiroFilterChainDefinition,这是shiro 的要求,与shiro-redis无关。例子

@Configuration
public class ShiroConfig {

    @Bean
    public ShiroFilterChainDefinition shiroFilterChainDefinition() {
        DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();
        return chainDefinition;
    }
}

详见:https://shiro.apache.org/spring-boot.html#web-applications