服务器重启后会话仍然进行身份验证吗?

Cha*_*lie 5 flask-login

好的,这样我就可以成功登录用户了。并注销。然后强制用户重新登录。

似乎不起作用的是,当用户进行身份验证时,执行导致服务器重新启动的操作,然后当服务器恢复时,用户仍然经过身份验证。

这是在硬件设备上,因此没有持久存储。不知何故,也许Python Flask登录一旦发送就总是“信任”cookie?我觉得我没有完全理解 Flask Login 在做什么......

我没有真正的用户商店。只有一个用户。这是我的一些代码块,如果对任何人有帮助的话:

@login_manager.user_loader
def load_user(id):
    return User(id)

class User(FlaskLogin.UserMixin):
    def __init__(self, id):
        self.id = id
Run Code Online (Sandbox Code Playgroud)

以及登录方法本身(当然删除了一些内容):

def login():
    sysPassword = supersecretmethodherethatreturnspasswordasastring()

    if flask.request.method == "POST":
        password = flask.request.form['password']
        username = flask.request.form['username']

        if password == sysPassword and username == 'static-user-name':
            user = User(username)
            FlaskLogin.login_user(user)
            return flask.redirect("/dashboard")
        else:
            return flask.render_template("login.html", error="Incorrect password. Please enter the correct password.", product=productid, products=defaults.products)

    return flask.render_template("login.html", error=False, product=productid, products=defaults.products)
Run Code Online (Sandbox Code Playgroud)

max*_*man 3

Flask-Login 是Fl​​ask 会话的抽象。

Flask 中的会话是cookie。Cookie 往往会保留在浏览器中。您可以自由配置会话的持续时间等。但只要您向 Flask-Login 提供有效的会话,您就会保持登录状态。

文档在这里介绍了这一点。