2016-08-31 3 views
1

Ich arbeite an einer SpringMVC-Anwendung Ich muss eine Abmeldeseite erstellen. Ich mache die Seite, aber wenn ich auf die Zurück-Schaltfläche im Browser klicke, kann ich die Benutzerdaten sehen.So verhindern Sie, dass der Benutzer nach dem Abmelden der Anwendung auf den Verlauf zugreifen kann

Wie kann ich verhindern, dass der Benutzer nach dem Abmelden der Anwendung auf den Verlauf zugreifen kann. Bitte sagen Sie mir eine Lösung ohne Spring-Sicherheit.

Ich verwende die folgende Handler-Methode zum Abmelden der Anwendung.

@RequestMapping("/logout") 
    public String logout(HttpServletRequest request) 
    { 
     request.getSession().invalidate(); 
     return "index"; 
    } 

Danke

+1

klar Browserverlauf auf den Logout-Button klicken, nicht wahr? – hahn

+1

USE Login-Filter, um jede Anfrage zu validieren. –

+0

@ khAn wie können wir das in Springmvc ... ich bin Neuling zu springmvc – dhS

Antwort

2

Sie unterhalb der Linie an der Spitze der Ihre jsp Seite hinzufügen können, um die Geschichte nicht oder Cache zu speichern

<% 
    response.setHeader("Cache-Control","no-cache,no-store,must-revalidate");//HTTP 1.1 
    response.setHeader("Pragma","no-cache"); //HTTP 1.0 
    response.setDateHeader ("Expires", 0); //prevents caching at the proxy server 
%> 
+0

vielen Dank – dhS

1

wenn Sie Frühlings-Rahmen verwenden funktioniert dann Interceptor verwenden zu vermeiden solches Verhalten Ihrer Anwendung.

public class LoginInterceptor extends HandlerInterceptorAdapter { 
    @Override 
    public boolean preHandle(HttpServletRequest request, 
      HttpServletResponse response, Object handler) throws Exception { 

} 

    @Override 
    public void postHandle(HttpServletRequest request, 
      HttpServletResponse response, Object handler, 
      ModelAndView modelAndView) throws Exception { 
    } 

    @Override 
    public void afterCompletion(HttpServletRequest request, 
      HttpServletResponse response, Object handler, Exception ex) 
      throws Exception { 
    } 
} 

`

2

Stop-Benutzer zur vorherigen Seite Geschichte zurück zu gehen

Javascript

verwenden können
window.history.forward();<br> 
function noBack(){<br> 
window.history.forward(); 
} 

Aber das ist nicht der beste Ansatz wegen verschiedener zahlreiche Gründe.

Es gibt viele andere Lösungen
1. Invalidate die Sitzung
2. Löschen Sie den Cache

See this und also this already asked question

+1

Ich brauche Javascript in dieser Anwendung nicht zu verwenden. Aber das ist eine gute Lösung für andere Anwendungen, vielen Dank – dhS

Verwandte Themen