From 7ea3929718ab7ac30f69d31fc82002346d86f77e Mon Sep 17 00:00:00 2001 From: Matt Wright Date: Thu, 8 Mar 2012 17:28:56 -0500 Subject: [PATCH] Redirect to referrer only if the user is logged in or authenticated --- flask_security/__init__.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/flask_security/__init__.py b/flask_security/__init__.py index 7389cbd..48635cf 100644 --- a/flask_security/__init__.py +++ b/flask_security/__init__.py @@ -125,7 +125,12 @@ def roles_required(*args): 'following roles: %s' % [r for r in roles]) flash(FLASH_PERMISSIONS, 'error') - return redirect(request.referrer) + + if current_user.is_authenticated(): + return redirect(request.referrer) + + c = current_app.config[AUTH_CONFIG_KEY] + return redirect(c[LOGIN_VIEW_KEY]) return decorated_view return wrapper @@ -143,7 +148,12 @@ def roles_accepted(*args): 'the following roles: %s' % [r for r in roles]) flash(FLASH_PERMISSIONS, 'error') - return redirect(request.referrer) + + if current_user.is_authenticated(): + return redirect(request.referrer) + + c = current_app.config[AUTH_CONFIG_KEY] + return redirect(c[LOGIN_VIEW_KEY]) return decorated_view return wrapper