簡體   English   中英

按下后退按鈕后會話不會破壞

[英]After pressing back button session doesnot destroy

面臨一個奇怪的問題。 我的注銷代碼為:

@RequestMapping(value = "/logout", method = RequestMethod.GET)
    public String thanks(HttpSession session) {
        session.removeAttribute("parentEmail");
        session.invalidate();
        return "redirect:parent-login";
    }

但是注銷后我得到的鏈接為/logout?email=xyz@xyz.com

因此,當我在上次訪問的頁面上再次按返回按鈕時,可以更新數據。 我已設置為會話屬性的電子郵件。

誰能告訴我為什么要獲取此URL。

默認情況下,所有模型屬性都被視為在重定向URL中作為URI模板變量公開。 在其余屬性中,屬於原始類型或原始類型的集合/數組的屬性會自動附加為查詢參數。

使用redirectAttributes.addAttribute()附加必需的查詢參數。 您還應該通過將該對象設置為null來使ModelMap中與身份驗證相關的所有對象無效。model.addAttribute(“ parentLogin”,null);

因此,您的方法應如下所示:

    @RequestMapping(value = "/logout", method = RequestMethod.GET)
public String thanks(Model model,RedirectAttributes redirectAttributes,HttpSession session) {
 redirectAttributes.addAttribute("logout", "1234");
 model.addAttribute("parentLogin",null);
 session.removeAttribute("parentEmail");
 session.invalidate();
 return "redirect:parent-login";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM