问题:Spring在集成shiro,在启动时,报org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘shiroFilter’ is defined
解决方法:
1)首先要确保applicationContext-shiro.xml文件中的ShiroFilterFactoryBean 的id属性要和webxml中DelegatingFilterProxy的名字要一样
- applicationContext-shiro.xml配置文件
/login/loginForm = anon
/logout = logout
/** = authc
- web.xml中的配置:
shiroFilter
org.springframework.web.filter.DelegatingFilterProxy
shiroFilter
/*
2)web.xml中的上下文初始化参数中,要添加applicationContext-shiro.xml,确保Spring在初始化的时候,可以初始化到shiroFilter,这里需要注意的是冒号是英文状态下的
contextConfigLocation
classpath*:applicationContext.xml,
classpath*:applicationContext-shiro.xml
如果classptah后面的冒号写成中文了,就会导致初始化不了shiroFilter