Flask会话Cookie无法在浏览器关闭时持续存在

时间:2019-03-15 12:46:49

标签: python session cookies

我制作了一个flask应用程序,该应用程序依赖于会话cookie进行登录。但是,每当我重新打开浏览器并访问http://localhost:5000/时,cookie都会消失并且我将注销。

这是我的一些代码:

app = Flask(__name__)
app.config["SECRET_KEY"] = <bytes object generated by os.urandom(24)>
app.config["PERMANENT_SESSION_LIFETIME"] = timedelta(hours=1)


@app.route("/")
def login_redirect():
    if check_login(session, False):
        return redirect("/interface")
    return redirect("/login")


def check_login(session, requires_elevated):
    if "username" not in session:
        return False
    elif session["username"] == "admin":
        return True
    elif session["username"] == "regular" and not requires_elevated:
        return True
    return False

我不想粘贴所有内容,因为其中一些是私有的,但是如果我可以包括其他内容可能会有所帮助,请告诉我,我会这样做。

谢谢。

1 个答案:

答案 0 :(得分:1)

before_request中,您需要将会话设置为永久会话,以便遵守您的配置设置:

@app.before_request
def setup():
    session.permanent = True