服务器重启后,Session仍会验证吗?

时间:2016-12-12 19:31:58

标签: 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

登录方法本身(当然删除了一些东西):

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)

1 个答案:

答案 0 :(得分:2)

Flask-Login是对Flask's sessions的抽象。

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

文档涵盖了此here