shiro 登录成功后 不跳转到 successUrl 的问题解决

1.重写 FormAuthenticationFilter 父类的  issueSuccessRedirect 方法

import javax.servlet.ServletRequest;                                                      

import javax.servlet.ServletResponse;                                                     
                                                                                          
import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;                        
import org.apache.shiro.web.util.WebUtils;                                                
                                                                                          
public class loginFormAuthenticationFilter extends FormAuthenticationFilter {             
                                                                                          
@Override                                                                             
protected void issueSuccessRedirect(ServletRequest request, ServletResponse response) throws Exception {                                                            
WebUtils.issueRedirect(request, response,getSuccessUrl(), null, true);            
}                                                                                     
} 

2. 在 applicationContext-shiro.xml 中配置

<!-- 定义shiro 的 web 过滤器 -->                                                                                   
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">                           
<!-- 认证提交地址,如果没有认证将会请求此地址进行认证 ,请求此地址将由 formAuthenticationFilter 进行表单认证 -->                               
<property name="loginUrl" value="/user/login"></property>                                                
<!-- 没有权限  将会跳转去的 页面 -->                                                                                 
<property name="unauthorizedUrl" value="/refuse.jsp"></property>                                         
<!-- 认证通过会 要跳转 的页面 -->                                                                                   
<property name="successUrl" value="/user/main"></property>                                               
<!-- 安全管理器  -->                                                                                          
<property name="securityManager" ref="securityManager"></property>                                       
<!-- 配置 重写的 父类方法 issueSuccessFilter  让自己重写的方法起到作用  以防止 登录成功后 不调到 successUrl 的问题 -->                      
<property name="filters">                                                                               
         <map>                                                                                                
             <entry key="authc" value-ref="loginFormAuthenticationFilter"/>                                   
         </map>                                                                                               
     </property>                                                                                              
<!-- shiro 过滤器 链配置  -->                                                                                  
<property name="filterChainDefinitions">                                                                 
<value>                                                                                              
<!-- 配置 注销的地址  -->                                                                               
/user/logout = logout                                                                            
<!-- 配置匿名访问  -->                                                                                 
/js/** = anon                                                                                    
/images/** = anon                                                                                
/css/** = anon                                                                                   
/refuse.jsp = anon                                                                               
/fonts/** = anon                                                                                 
<!-- 所有地址 都需要 身份认证 -->                                                                           
/** = authc                                                                                      
</value>                                                                                             
</property>                                                                                              
</bean>                                                                                                      
                                                                                                             
<!-- 配置  -->                                                                                                 
<bean id="loginFormAuthenticationFilter" class="org.aptech.own.shiro.utils.loginFormAuthenticationFilter"/>

本人做笔记使用,参考:https://blog.csdn.net/houjunkai/article/details/78818204

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值