Exemplo n.º 1
0
def process_login(request, success_redirect=None, error_redirect=None, success_response=None):
	f = LoginForm(request.POST)
	
	if f.is_valid():
		u = auth.authenticate(username=request.POST['username'], password=request.POST['password'])
		if u:
			if u.is_active:
				auth.login(request, u)

				if success_redirect:
					return HttpResponseRedirect(success_redirect)
				elif success_response:
					return success_response
				else:
					return HttpResponse(200)

			else:
				mail_admins('Inactive user attempted to login', '')

				if error_redirect:
					return HttpResponseRedirect(error_redirect)
				else:
					return HttpResponse(status=403)

		else:
			f = FailedLogin()
			f.ip = request.META['REMOTE_ADDR']
			f.save()

			mail_admins('Failed login attempt', '')
			if error_redirect:
				return HttpResponseRedirect(error_redirect)
			else:
				return HttpResponse(status=403)

	else:
		return False