亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Flask 會話注銷并重定向到登錄頁面

Flask 會話注銷并重定向到登錄頁面

RISEBY 2022-11-29 14:47:53
我正在為我的 Web 應用程序使用 Flask、Python。用戶將登錄,如果會話時間超過 5 分鐘,那么應用程序應該會出現,并且應該登陸登錄頁面。我嘗試了一些方法,我可以看到會話超時正在發生,但重定向到登錄頁面沒有發生。@app.before_requestdef before_request():    "Session time out method"    flask.session.permanent = True    app.permanent_session_lifetime = datetime.timedelta(minutes=2)    flask.session.modified = True    flask.g.user = flask_login.current_user    #return redirect(url_for('login'))我已經使用 before_request 來查看超時。我已經引用了這個鏈接Flask logout if sessions expires if no activity and redirect for login page 但我沒有看到我之前嘗試過的內容和這段代碼有任何變化。我可以在那里看到很多關于這個主題的 stackoverflow 問題,但我找不到解決方案。我已經 在 ajax 上下文中嘗試過這個鏈接 als Expire session in flask但是我不確定我應該通過什么作為會話以及我應該在這里返回什么限定符?@mod.before_requestdef make_session_permanent():    if session_is_invalid(session):        return redirect(url_for('logout'))def session_is_invalid(ses):    # return your qualifier如果以前的方法是正確的,有人可以告訴我會話是什么以及我應該在這里返回什么限定符嗎?我需要的是在會話注銷后頁面應該自動登陸登錄屏幕發生的事情是會話注銷正在發生但它沒有重定向到登錄頁面有人可以幫助我嗎?
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

當我閱讀Flask-Login包裹的文件時,我看到了一些東西。創建Flask應用程序時,您還需要創建一個登錄管理器。

login_manager = LoginManager()

課堂上的一個login_view變量LoginManager引起了我的注意。詳情包括以下說明:

用戶需要登錄時要重定向到的視圖的名稱。(如果您的身份驗證機制在您的應用程序外部,這也可以是絕對 URL。)

實際上,在你創建一個LoginManager對象之后,

login_manager.login_view = 'your login view'

您應該指定您的登錄頁面。最后,一旦創建了實際的應用程序對象,您就可以將其配置為登錄:

login_manager.init_app(app)

完成這些之后,unauthorized對您使用注釋的每個方法的任何調用都@login_required將發送到您用 指出的頁面login_view。

我還開發了一個簡單的應用程序。您可以從此處查看此應用程序。我測試了它并且工作沒有任何問題。

我希望它能幫助你。


查看完整回答
反對 回復 2022-11-29
  • 1 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號