que je suis autour de cette question aujourd'hui et voici ma solution:
Cette partie php (fichier ou méthode du contrôleur) sera appelé par ajax:
// create your preferred way of returning a json object like { "isLogged": true }
echo json_encode(array('isLogged' => checkSession()));
maintenant, mettez ce script au début de toutes vos pages qui ont des appels ajax et exigent que l'utilisateur connecté:
$(document).ajaxSend(function(e, xhr) {
$.ajax({
url: 'checkSession.php',
type: 'GET',
global: false,
success: function(session) {
if(!session.isLogged) {
xhr.abort();
// This allows my framework to take care of the redirect
// and to remember the intended page,
// so it redirects back here after login:
location.reload();
// use this one to redirect directly to the login page:
// window.location.replace('login.php');
}
},
dataType: 'json'
});
});
le global: false
partie est essentielle ici, pour empêcher cet appel ajax d'entrer le ajaxSend
et donc de créer une boucle infinie.
Utilisez-vous la sécurité de printemps? –
Non ..Je n'utilise pas la sécurité de printemps –
Est-ce une application Web basée sur Java? –