2
好吧,我可以成功登錄用戶。並註銷。然後強制用戶重新登錄。服務器重新啓動後會話仍然進行身份驗證?
什麼似乎不起作用的是,當用戶進行身份驗證,執行導致服務器重新啓動的操作,然後服務器恢復時,用戶仍然通過身份驗證。
這是在硬件設備上,所以沒有持久性存儲。不知何故,python燒瓶登錄信息一旦發送,就會「信任」cookie?我覺得我並不完全瞭解Flask登錄正在做什麼......
我沒有真正的用戶存儲。只有一個用戶。下面是一些代碼塊我有,如果它可以幫助任何人:
@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)
有趣。我猜我需要在設備重啓後使'load_user'失效。需要在每次登錄時存儲某種唯一密鑰.. HRMM。 – Charlie