好的,我可以成功登录用户。并注销。然后强制用户重新登录。
似乎不起作用的是当用户进行身份验证时,执行导致服务器重新启动的操作,然后当服务器重新启动时,仍然会对用户进行身份验证。
这是在硬件设备上,因此没有持久存储。不管怎样,也许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)
答案 0 :(得分:2)
Flask-Login是对Flask's sessions的抽象。
Flask中的会话为cookies。 Cookie往往会在浏览器中出现。您可以自由配置会话的持续时间等等。但只要您向Flask-Login提供有效会话,您就会保持登录状态。
文档涵盖了此here。