/ / So implementieren Sie die Anmelde- und Abmeldefunktion mithilfe des Java-Frameworks von Play 1.2.7 - Java, Session, Playframework, Playframework-1.x

Wie implementieren Sie die Login-und Logout-Funktionalität mit Play 1.2.7 Java Framework - Java, Session, Playframework, Playframework-1.x

Ich benutze play 1.2.7 Um die Anmelde- und Abmeldefunktion zu erstellen, wenn der Benutzer sich anmeldet, erstelle ich die Sitzung für ihn, indem ich das Sitzungsobjekt verwende. Mein Problem besteht darin, dass ich mich nach dem Abmelden auf die Anmeldeseite umleitete. Wenn der Benutzer jedoch auf die Browser-Zurück-Schaltfläche klickt, wird die Seite aktualisiert und wieder wird sich das einloggen

Dies ist mein Code Code, wenn Sie den Benutzer anmelden.

public static void login() throws Throwable {
Http.Cookie remember = request.cookies.get("rememberme");
if(remember != null) {
int firstIndex = remember.value.indexOf("-");
int lastIndex = remember.value.lastIndexOf("-");
if (lastIndex > firstIndex) {
String sign = remember.value.substring(0, firstIndex);
String restOfCookie = remember.value.substring(firstIndex + 1);
String username = remember.value.substring(firstIndex + 1, lastIndex);
String time = remember.value.substring(lastIndex + 1);
Date expirationDate = new Date(Long.parseLong(time)); // surround with try/catch?
Date now = new Date();
if (expirationDate == null || expirationDate.before(now)) {
logout();
}
if(Crypto.sign(restOfCookie).equals(sign)) {
session.put("username", username);
redirectToOriginalURL();
}
}
}
flash.keep("url");
render();
}

Und dies ist mein Abmeldecode, wenn der Benutzer sich abmeldet:

 public static void logout() throws Throwable {
Security.invoke("onDisconnect");
session.clear();
response.removeCookie("rememberme");
Security.invoke("onDisconnected");
flash.success("secure.logout");
login();
}

Bitte bewahren Sie mich vor diesem Problem auf. Vielen Dank im Voraus.

Antworten:

1 für die Antwort № 1

Die Verwendung des sicheren Moduls ist der richtige Weg: http://www.playframework.com/documentation/1.2/secure.

Nur zu Ihrer Information, es gibt Module, die sichere Module erweitern und rollenbasierte Autorisierung unterstützen: