JSP-session-timeout login-Seite
Habe ich eine login-Seite für mock hotel-administrator. Jetzt möchte ich hinzufügen, session-time-Funktion. In anderen Worten, nehmen wir an, der Benutzer den computer verlässt (er ist noch angemeldet der admin-Webseite) für etwa 10 Minuten oder so. Wenn er dann wieder kommen, will ich zu Ende die aktuelle Sitzung und dann umleiten auf die login-Seite (das ist mehr gesichert und seine persönlichen Daten nie verloren gehen!).
Wie mache ich das?
public class LoginServlet extends SpringInjectedServlet {
@Autowired
private LoginService loginService;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String id = req.getParameter("id");
String password = req.getParameter("password");
String error = null;
//code for checking correct input
}
//mock
private boolean check(String id, String password) {
return loginService.authenticate(id, password);
}
@Override
public void init() throws ServletException {
System.out.println("LoginServlet");
}
}
- Was macht Ihr den aktuellen code für das Aussehen?
- Ich habe eine loginServlet mit der doPost-Methode.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Authentifizierung Filter zu prüfen, für die Sitzung in jede Anfrage wie
Dieser prüft für login-Benutzername aus der Sitzung für jede Anforderung zu, wenn seine null-oder die Sitzung ist abgelaufen ,es erfolgt eine Umleitung auf die login-Seite.
Fügen Sie diese in web.xml
Check it hier.
Nachdem Sie überprüft die Anmeldeinformationen, setze eine session-variable für die Benutzer-id und das session-Ablauf:
Dann an der Spitze der alle Ihre JSPs und alle Ihre servlets sowas:
Nachdem die 10 Minuten vergangen sind, wird dies nur leiten den Benutzer auf die login-Seite wenn Sie auf einen link klicken, aktualisieren, oder irgendwie wechseln zu einer anderen Seite. Wenn Sie nur die Seite verlassen, da sitzen öffnen, es wird immer noch angezeigt. Um das zu ändern, würde man mit Javascript irgendwie.