Bonjour à tous,
J'ai un petit problème avec mon authentification . ( qui fonctionne correctement avec le serveur de développement intégré à Django, mais pas sur un serveur uwsgi + Nginx )
Le problème :
L'authentification fonctionne, mais de temps en temps, lorsque je navigue sur le site , ou qu'une requête ajax est lancée ou encore avec un simple rafraîchissement, je me retrouve avec le formulaire d'authentification .. pourtant je ne suis pas déconnecté, car si je rafraîchi la page .. le formulaire d'authentification disparaît . 
Pour gérer cette authentification, j'ai créé un simple middleware qui vérifie à chaque requête si ou ou non l'utilisateur est authentifié .
middleware :
1 2 3 4 5 6 7 8 9 10 11 12
| from django.http import HttpResponse,HttpResponseRedirect
class AuthenticationMiddleware(object):
_LOGIN_PATH = "/accounts/login_view/"
def process_request(self, request):
if (request.path != self._LOGIN_PATH) and not request.is_ajax():
if not request.user.is_authenticated():
return HttpResponseRedirect( self._LOGIN_PATH+'?next=%s' % request.path)
return None |
Et voici le paramètre MIDDLEWARE_CLASSES dans mon settings
1 2 3 4 5 6 7 8 9
| MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'auth.middlewares.AuthenticationMiddleware',
) |
Et enfin le SESSION_ENGINE
SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'
Je ne sais plus ou chercher
Merci d'avance pour votre aide .
Ch.
Partager