我正在制作一个webapp来浏览数据库,并尝试使用OpenID进行身份验证。 当尝试使用以下代码访问数据库查询的结果时,在登录时,我得到了网页重定向循环的结果。
app.route("/results", methods=['GET', 'POST'])
@login_required
def results():
form = Query()
if request.method == "POST":
a = Composition(form.query.data).reduced_formula
data = get_md_summary({"pretty_formula": a})
return render_template("results.html", md=data)
return render_template("query.html", form=form)
当删除login_required装饰器时,会显示生成的网页,但这意味着未经过身份验证的任何人仍然可以访问结果,如果他们输入最终的URL并因此绕过登录步骤。 我究竟做错了什么?我觉得我要么不正确理解login_required的使用,要么我使用了错误的装饰器。
答案 0 :(得分:1)
听起来您的login_view
设置为结果页面,这就是您获得重定向循环的原因 - 未登录的用户会一次又一次地重定向到同一页面。
看看这里了解如何设置登录视图: https://flask-login.readthedocs.org/en/latest/#customizing-the-login-process