Filter过滤器拦截没有登录的用户请求,跳转到登录页面,登录后怎么继续走拦截前的路径?

qq_24532051 2015-03-26 02:58:59
如题,在一个项目中,用Filter过滤器拦截没有登录的用户的请求,然后跳转到登录页面,但是现在需要做一个首页的论坛,用户没有登录可以查看论坛帖子列表(拦截器放行),但是发帖或者回复的时候必须登录才能进行,此时跳转到了登录页面,点击登录之后还是跳转到了主界面,怎么设置让登录之后继续走过滤器拦截的路径呢?比如,我点击发帖跳转到了登录页面,点击登录后直接显示的是发帖子的那个页面而不是系统的主界面?求大神们给点意见,谢谢。
...全文
6782 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
上划线 2015-08-28
  • 打赏
  • 举报
回复
如果之前的是post请求,那么post请求的参数该怎么办?
qq_24532051 2015-03-27
  • 打赏
  • 举报
回复
昨天做到这里没有做出来,回去又想了下,顺便看了下FILTER过滤器的内容,今天总算解决了,可能这问题太简单都没有人来回答,我在这里给一下我的做法,算是给哪些暂时没法解决的人一点提示吧。 在过滤器中 //如果用户!=null 表示用户已经登陆 if(sysUser!=null){ //放行 chain.doFilter(request, response); }else{ //如果用户==null 表示用户没有登陆 //将来时的路径保存到session中 request.getSession().setAttribute("goUrl", request.getRequestURL()+"?"+request.getQueryString()); //跳转到login.jsp response.sendRedirect(request.getContextPath()); } 登录时候 //判断过滤器拦截的路径是否为空,不空的话就存入USER,继续走这个路径 if(request.getSession().getAttribute("goUrl")!=null){ String url=(String)request.getSession().getAttribute("goUrl"); SessionUtils.setSysUserToSession(request, sysUser); response.sendRedirect(url); }else{ //登录成功后将用户信息保存到session中 SessionUtils.setSysUserToSession(request, sysUser); return "main"; } 大概就是这样了。

81,092

社区成员

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

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