阻止用户在使用Flask登录登录时访问登录页面



在Flask中,可以使用@login_required装饰器来保护端点。然而,我遇到了相反的问题——如何在用户登录时防止我的登录页面被访问?

我没有真正可以附加的代码,因为我甚至不知道从哪里开始。任何帮助都将不胜感激!我遵循了本教程,所以我的代码与此非常相似:https://www.digitalocean.com/community/tutorials/how-to-add-authentication-to-your-app-with-flask-login

flask_login导入current_user,并检查用户(current_user(在您的视图(登录视图(中是否经过身份验证。如果用户已通过身份验证,请将其重定向到所需的URL。

from flask_login import current_user
@app.route('/login', methods=['GET','POST'])
def login():
if current_user.is_authenticated:
return redirect(url_for('home'))

编辑参数并:

def login_not_required(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if "logged_in" in session:
return redirect(url_for("index"))
else:
return f(*args, **kwargs)
return decorated_function

如何在用户登录时防止访问我的登录页面

您可以使用烧瓶登录get_id(),然后检查是否返回了is not None,这意味着用户已经登录

最新更新