[英]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.