示例#1
0
    def form_valid(self, form):
        anonymous_session_data = dict(self.request.session.items())
        # Okay, security checks complete. Log the user in.
        user = form.get_user()
        auth_login(self.request, user)

        if self.request.session.test_cookie_worked():
            self.request.session.delete_test_cookie()

        post_login.send(sender=user.__class__, request=self.request, user=user, session_data=anonymous_session_data)
        return super(LoginView, self).form_valid(form)
示例#2
0
    def form_valid(self, form):
        anonymous_session_data = dict(self.request.session.items())
        # Okay, security checks complete. Log the user in.
        user = form.get_user()
        auth_login(self.request, user)

        if self.request.session.test_cookie_worked():
            self.request.session.delete_test_cookie()

        post_login.send(sender=user.__class__,
                        request=self.request,
                        user=user,
                        session_data=anonymous_session_data)
        return super(LoginView, self).form_valid(form)
示例#3
0
    def login_user(self, user):
        anonymous_session_data = dict(self.request.session.items())
        for backend in get_backends():
            if not user.is_active:
                #inactive user login is supported by Django 1.3
                if not getattr(backend, 'supports_inactive_user', False):
                    continue
            #user must be annotated with backend
            user.backend = "%s.%s" % (backend.__module__,
                                      backend.__class__.__name__)
            break

        auth_login(self.request, user)
        post_login.send(sender=user.__class__,
                        request=self.request,
                        user=user,
                        session_data=anonymous_session_data)
示例#4
0
    def login_user(self, user):
        anonymous_session_data = dict(self.request.session.items())
        for backend in get_backends():
            if not user.is_active:
                #inactive user login is supported by Django 1.3
                if not getattr(backend, 'supports_inactive_user', False):
                    continue
            #user must be annotated with backend
            user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
            break

        auth_login(self.request, user)
        post_login.send(
            sender=user.__class__,
            request=self.request,
            user=user,
            session_data=anonymous_session_data
        )
示例#5
0
    def login_user(self, request, user):
        anonymous_session_data = dict(request.session.items())
        if not getattr(user, 'backend', None):
            #user must be annotated with backend, for auto login we can use first available
            for backend in get_backends():
                if not user.is_active:
                    #inactive user login is supported by Django 1.3
                    if not getattr(backend, 'supports_inactive_user', False):
                        continue
                user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
                break

        auth_login(request, user)

        if request.session.test_cookie_worked():
            request.session.delete_test_cookie()

        post_login.send(
            sender=user.__class__,
            request=request,
            user=user,
            session_data=anonymous_session_data
        )