SpringBoot 登陆拦截中,登陆界面无法正确的重定向

一只开发狗001 2018-07-30 05:55:56
springboot做登陆拦截中,给跳转登陆页面和登陆验证的方法放行,显示可以放行却显示无法无法重定向而且还无限循环
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception{
System.out.println("进入拦截");
System.out.println(request.getRequestURI());
//登陆不做拦截
if (request.getRequestURI().equals("/login_view")||request.getRequestURI().equals("/user/landing")){
System.out.println("200");
return true;
}
//验证session 是否存在
Object obj=request.getSession().getAttribute("_session_user");
if(obj==null){
response.sendRedirect("/login_view");
return false;
}
return true;
}

上面是拦截器,login_view方法是跳转登陆界面的,在未配置拦截器前无误。
login_view方法

@RequestMapping("/login_view")
public String login_view(){

return "/login/login";
}

而当我输入127.0.0.1:8080/login_view的时候后台打印

进入拦截
/login_view
200
进入拦截
//login/login.html

上面打印的是拦截器中的,通过request.getRequestURI()可以看出我的路的和拦截器放行的方法符合进入判断,返回一个true,按道理说就可以直接跳转页面了。而没有跳转request.getRequestURI()也指向了我的login.html地址,之前配置过一个是用的jsp页面配置好jsp就可以
还有就是上面打印的是无限循环。求救
...全文
1134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一只开发狗001 2018-07-31
  • 打赏
  • 举报
回复
引用 2 楼 shen19920619 的回复:
拦截器的作用: 如果你return false ; 那么就是不可以通过拦截器; 后面的代码不会执行了
response.sendRedirect("/login_view");
return false;
改成true

这里是验证session的如果session不存在是返回到login_view方法,该成true是会返回到登陆界面,但现在是无法进入登陆界面。已经解决了应该把登陆界面加入白名单。
一只开发狗001 2018-07-31
  • 打赏
  • 举报
回复
引用 1 楼 Ragin 的回复:
因为login.html也被你拦截了啊
你应该把login.html也加入白名单。

多谢
ninuxGithub 2018-07-31
  • 打赏
  • 举报
回复
拦截器的作用: 如果你return false ; 那么就是不可以通过拦截器; 后面的代码不会执行了
response.sendRedirect("/login_view");
return false;
改成true
Braska 2018-07-31
  • 打赏
  • 举报
回复
因为login.html也被你拦截了啊
你应该把login.html也加入白名单。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧