拦截器冲突导致无法跳转正确页面

xiaoxiao2021-02-28  68

在springmvc.xml的配置中,配置拦截器的内容

<!--配置拦截器--> <mvc:interceptors> <mvc:interceptor> <!--拦截admin下的文件夹及子文件夹 只拦截Controller不拦截jsp文件--> <mvc:mapping path="/admin/**"/> <mvc:exclude-mapping path="/**/*login*" /> <mvc:exclude-mapping path="/**/*Login*" /> <bean class="com.jf.weidong.doc.filter.AdminInterceptor"/> </mvc:interceptor> </mvc:interceptors> 在后续的课程进展中,学习到shiro框架,主要用于授权和认证

在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"/>

当第二种拦截设置了之后,第一种需要注释掉,否则会产生干扰,在我运行之初,就一直发生错误页面,怎么都没有想到是一个拦截器没有注释的原因

转载请注明原文地址: https://www.6miu.com/read-2622326.html

最新回复(0)