- 前几天在项目中调第三方支付,支付成功后,第三方回调时出现回调方法没有走的情况。当时已经把spring的拦截器中已经放过回调路径了,折腾了半天找到是 shiro又拦截了
shiro 访问控制框架拦截,直接上配置文件
<!-- Shiro权限过滤过滤器定义 -->
<bean name="shiroFilterChainDefinitions" class="java.lang.String">
<constructor-arg>
<value>
<!-- 配置登出: 使用 logout 过滤器 -->
<!-- 将需要不拦截的路径加在value里面 = anon -->
/shiro-logout = logout
/css/**= anon
/img/**= anon
/js/**= anon
/register.jsp=anon
/register.action=anon
/login.action=anon
/findPassword.jsp=anon
</value>
</constructor-arg>
</bean>
在项目中集成第三方支付并配置回调时遇到问题,支付成功后的回调方法未被调用。经过排查发现是由于Shiro安全框架的拦截导致。在Spring的配置中,尽管已将回调路径添加到拦截器排除列表,但Shiro的配置文件中并未放开此路径,从而阻止了回调。解决方案是在Shiro的过滤器链定义中添加相应的匿名访问路径。
3万+

被折叠的 条评论
为什么被折叠?



