Flask login_required和网页重定向循环

时间:2014-08-11 21:15:57

标签: flask openid

我正在制作一个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的使用,要么我使用了错误的装饰器。

1 个答案:

答案 0 :(得分:1)

听起来您的login_view设置为结果页面,这就是您获得重定向循环的原因 - 未登录的用户会一次又一次地重定向到同一页面。

看看这里了解如何设置登录视图: https://flask-login.readthedocs.org/en/latest/#customizing-the-login-process