在web.xml的配置中,配置初始化信息
<filter> <filter-name>DelegatingFilterProxy</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <!--初始化信息--> <init-param> <param-name>targetBeanName</param-name> <param-value>shiroFilter</param-value> </init-param> </filter> <filter-mapping> <filter-name>DelegatingFilterProxy</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 在applicationContext.xml的配置中,配置初始化信息 <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <!--配置安全管理器--> <property name="securityManager" ref="securityManager"/> <!--可以不配置,因为在js里面我们进行了跳转--> <property name="successUrl" value="/admin/adminIndex"/> <!--没有权限跳转到的链接--> <!--<property name="unauthorizedUrl" value="500.jsp"/>--> <!--没有认证时跳转的页面--> <property name="loginUrl" value="/admin/adminLogin"/> <property name="filterChainDefinitions"> <value> <!--设置允许匿名访问的地址--> /static/** = anon /admin/adminLoginController_login.action = anon <!--拦截到adminLoginController_logout.action请求,shiro框架会自动清除指定的session--> /admin/adminLoginController_logout.action = logout <!--其它路径设置为必须认证--> /** = authc </value> </property> </bean> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="realm"/> </bean> <bean id="realm" class="com.jf.weidong.doc.shiro.UserRealm"/>当第二种拦截设置了之后,第一种需要注释掉,否则会产生干扰,在我运行之初,就一直发生错误页面,怎么都没有想到是一个拦截器没有注释的原因
