2016-12-12 7 views
2

これで正常にユーザーにログインできます。そしてログアウト。セッションはサーバの再起動後も引き続き認証されますか?

ユーザーの認証時にサーバーが再起動するような操作をした後、サーバーが復旧したときにユーザーが認証されても、動作していないように見えます。

これはハードウェアデバイス上にあるため、永続ストレージはありません。どういうわけか、pythonフラスコのログインは、一度送信されたCookieを「信頼する」ことができますか? Flaskログインが何をしているかを完全に理解していないように感じる...

私は実際のユーザーストアを持っていません。ユーザーは1人だけです。それは誰にも役立ちます場合はここで、私が持っているいくつかのコードブロックです:

@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

フラスコ-ログインFlask's sessions以上の抽象化です。

フラスコのセッションはcookiesです。ブラウザにはCookieが詰まっている傾向があります。セッションの存続期間などは自由に設定できます。しかし、Flask-Loginに有効なセッションを提供している限り、ログインしたままになります。

ドキュメントはこのhereをカバーします。

+0

興味深い。私は、 'load_user'をデバイスの再起動後に失敗させる必要があると思います。ログインごとに一意のキーを保存する必要があります。HRMM。 – Charlie

関連する問題