ฉันใช้อัลกอริธึมการล็อกเอาต์ด้านล่างในแอปพลิเคชัน JSF ของฉัน และมันทำงานในขณะที่ผู้ใช้สามารถออกจากระบบได้และเซสชันถูกยกเลิก
อย่างไรก็ตาม ปัญหาของฉันคือแม้ว่าผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ แต่เมื่อเขา/เธอกดปุ่มย้อนกลับของเบราว์เซอร์ เขายังสามารถดูข้อมูลก่อนหน้าได้
@ManagedBean
@RequestScoped
public class LogoutBean {
public String logout() {
String result="/faces/pages/public/login.xhtml?faces-redirect=true";
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest();
try {
request.logout();
} catch (ServletException e) {
log.info("Error during logout!");
}
return result;
}
}
มีวิธีกำหนดค่านี้ในลักษณะที่เบราว์เซอร์จะแสดงเพจหมดอายุหรือไม่โดยใช้ตรรกะด้านบน