| 123456789101112131415161718192021 |
- from django.contrib import auth
- from django.contrib.auth import models as auth_models
- from . import backends
- class LazyUserMiddleware(object):
- def process_request(self, request):
- if request.user and not isinstance(request.user, auth_models.AnonymousUser):
- assert isinstance(request.user, backends.User)
- return None
- user = auth.authenticate(request=request)
- assert user.is_anonymous()
- # We set the auth session key to prevent login to
- # cycle the session key or flush the whole session
- request.session[auth.SESSION_KEY] = user.id
- auth.login(request, user)
- return None
|