No bean named 'shiroFilter' is defined

问题:Spring在集成shiro,在启动时,报org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'shiroFilter' is defined

解决方法:

1)首先要确保applicationContext-shiro.xml文件中的ShiroFilterFactoryBean 的id属性要和webxml中DelegatingFilterProxy的名字要一样

1. applicationContext-shiro.xml配置文件


/login/loginForm = anon

/logout = logout

/** = authc

2. 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

你可能感兴趣的:(Apache,Shiro)