Sto usando JavaScript, Angular e Java sul mioapplicazione. Ho bisogno di aiuto per sviluppare un'operazione di disconnessione che distrugga una sessione. Per ora, sul link di logout sto chiamando la pagina di accesso che è come quando si fa clic sul pulsante INDIETRO sul browser l'utente è ancora loggato.
<li><a href="login.html">Log Out</a></li>
risposte:
0 per risposta № 1Diciamo tat che stai usando / session api per creare una sessione. lascia che la risposta della sessione sia un ID come
{id : ghjdgsajdfsgafdfdgasfdafsdfsafdjsa}
ora puoi memorizzare questo ID nella memoria di sessione come
window.sessionStorage.setItem("currentSession", response.id);
ora al logout è possibile effettuare l'invio della chiamata di eliminazione
/sessions/window.sessionStorage.getItem("currentSession");
Questo distruggerà la sessione
0 per risposta № 2
Invece di cambiare lo stato da HTML :
<li><a href="login.html">Log Out</a></li>
provare qualcosa di simile :
<li><a ng-click="logout()">Log Out</a></li>
Supponiamo che tu abbia già impostato la chiave (userid) e il valore (dinamico) nella memoria di sessione all'accesso corretto
storageService.setItem("userid","1");
Ora, al logout puoi fare qualcosa del genere:
Controller:
$scope.logout = function() {
// To remove specify key/value pair from session storage, you need to do something like this.
storageService.removeItem("userid");
// Redirection on home page after remove the item from session storage.
$state.go("home");
---- OR -----
$location.path("/home");
}
storageService
fabbrica:
app.factory("storageService", function () {
return {
getItem: function (key) {
return sessionStorage.getItem(key);
},
setItem: function (key,data) {
sessionStorage.setItem(key, data);
},
removeItem: function (key) {
sessionStorage.removeItem(key);
}
};
});