我在 Flask 中的身份验证功能,始终允许用户进入受限页面

My function for authentication in Flask, always allow user to enter restricted page

我构建了一个小型网络应用程序。我的主页是这样的:

这是负责处理这个问题的代码:

@app.route("/", methods=["GET", "POST"])
def greetings():
    error = None
    form = SecretsForm()
    if form.validate_on_submit():
        if form.your_secret.data == key:
            # Edit allowed (Add later.)
            return redirect(url_for('home'))
        else:
            error = "Looks like you are not allowed to go this way."

    return render_template("greeting.html", form=form, error=error)

我在我的项目中设置了一个等于“qwerty”的全局变量。问题是无论我在表单中输入什么,或者更好的是,如果它甚至不存在,我仍然可以访问我试图对其施加限制的页面。知道哪里出了问题吗?

好的,明白了。我的 html 中负责表单的部分将其操作设置为不正确的函数,它呈现了禁止的模板并且没有在其中实现 'permission check'。始终检查为您的表单设置的功能,这样您就不会像我一样盯着显示器看太久,试图弄清楚发生了什么。