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)
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)
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 )
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 )