天天看点

注销系统登录Storage下的cookies(浏览器)、session、HttpSession

解决内容:1、注销系统后,当前浏览器Application--Cookies下依然存有登录信息,点击具体网址仍然能够进入系统

                   2、spring mvc中使用@SessionAttributes 忘记清除将导致系统并未真正注销

解决方案:

如下代码----

    @RequestMapping(value="/removesession.do", method = RequestMethod.GET)

    @ResponseBody

    private void removesession(HttpServletResponse response,HttpServletRequest request,HttpSession session,SessionStatus sessionStatus) throws UnsupportedEncodingException{

         Cookie[] cookies = request.getCookies();

            if (cookies != null) {

                for (Cookie cookie : cookies) {

                        cookie.setValue(null);

                        cookie.setMaxAge(-1);// 立即销毁cookie

                        cookie.setPath("/");

                        // System.out.println("被删除的cookie名字为:"+cookie.getName());

                        response.addCookie(cookie);

                }

            }

         session.removeAttribute("***");

         session.invalidate() ;

         sessionStatus.setComplete(); 

   }    

这样将彻底解决有关缓存清除问题!

继续阅读