Beispiel #1
0
 def process_request(self, request):
     assert hasattr(request, 'session'), (
         "The Django authentication middleware requires session middleware "
         "to be installed. Edit your MIDDLEWARE_CLASSES setting to insert "
         "'django.contrib.sessions.middleware.SessionMiddleware' before "
         "'django.contrib.auth.middleware.AuthenticationMiddleware'."
     )
     request.user = SimpleLazyObject(lambda: get_user(_get_user_session_key(request)))
 def process_request(self, request):
     assert hasattr(request, 'session'), (
         "The Django authentication middleware requires session middleware "
         "to be installed. Edit your MIDDLEWARE_CLASSES setting to insert "
         "'django.contrib.sessions.middleware.SessionMiddleware' before "
         "'django.contrib.auth.middleware.AuthenticationMiddleware'."
     )
     request.user = SimpleLazyObject(lambda: get_user(get_user_session_key(request)))
Beispiel #3
0
def logout(request):
    """
    Removes the authenticated user's ID from the request and flushes their
    session data.
    """
    # Dispatch the signal before the user is logged out so the receivers have a
    # chance to find out *who* logged out.
    user = get_user(request.session[SESSION_KEY])
    if hasattr(user, 'is_authenticated') and not user.is_authenticated():
        user = None
    user_logged_out.send(sender=user.__class__, request=request, user=user)

    # remember language choice saved to session
    language = request.session.get(LANGUAGE_SESSION_KEY)

    request.session.flush()

    if language is not None:
        request.session[LANGUAGE_SESSION_KEY] = language

    if hasattr(request, 'user'):
        from django.contrib.auth.models import AnonymousUser
        request.user = AnonymousUser()