gpt4 book ai didi

flask - 确定用户何时通过常规登录或通过 remember_me 登录

转载 作者:行者123 更新时间:2023-12-03 16:23:35 25 4
gpt4 key购买 nike

我想存储每个用户登录的时间和日期。
将此代码放入常规登录 View 很简单。

问题出现在 Flask-Login's remember_me已使用-不再调用登录名,这使我无法知道登录名是否新鲜。

我已经尝试过 Flask-Login 提供的 user_logged_in、user_login_confirmed 信号:

 def  user_logged_in_callback(*args, **kwargs):
import ipdb;ipdb.set_trace()

user_logged_in.connect(user_logged_in_callback, app)
user_login_confirmed.connect(user_logged_in_callback, app)

user_logged_in 仅在常规登录时被调用,而 user_login_confirms 似乎根本没有被调用。

最佳答案

登录后再次获取用户称为“用户加载”,并不是真正的登录事件,它仍然是同一个用户。 There is a signal for it ,但是没有记录。

您可以使用 user_loaded_from_cookie信号:

from flask_login import user_loaded_from_cookie

user_loaded_from_cookie.connect(user_login_callback, app)
user_login_confirm用于刷新登录时 - 需要重新登录并且用户重新输入密码。

如果您只想记录用户上次访问该网站的时间,您可以使用 app.before_request ,您不需要处理登录事件。
@app.before_request
def track_user():
if current_user.is_authenticated():
current_user.last_seen = datetime.utcnow()

关于flask - 确定用户何时通过常规登录或通过 remember_me 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26724623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com