Redirect users away from /login, if they are already logged in

This commit is contained in:
Simeon Keske 2020-08-30 01:44:27 +02:00
parent 2435c177f5
commit bfcbd9da6c
No known key found for this signature in database
GPG Key ID: 00FAF748B777CF10

View File

@ -36,6 +36,15 @@ class LoginView(View):
return super().dispatch(*args, **kwargs)
def get(self, request):
if request.user.is_authenticated:
# Already logged-in, determine where to redirect
redirect_to = request.GET.get('next', reverse('home'))
if redirect_to and not is_safe_url(url=redirect_to, allowed_hosts=request.get_host()):
logger.warning(f"Ignoring unsafe 'next' URL passed to login form: {redirect_to}")
redirect_to = reverse('home')
return HttpResponseRedirect(redirect_to)
form = LoginForm(request)
return render(request, self.template_name, {