【问题标题】:Flask user management烧瓶用户管理
【发布时间】:2015-11-05 04:59:02
【问题描述】:

有什么方法可以检查用户上次登录的时间,如果这个时间更长,那么 x flask 会阻止一个帐户?是否可以使用烧瓶以及如何处理事件侦听器来做到这一点?

【问题讨论】:

  • 是的,有一种方法可以为用户模型添加时间戳,但仍然找不到让flask检查它的方法。

标签: python flask flask-login


【解决方案1】:

使用before_request 回调检查当前用户的上次登录日期,如果太旧则返回错误。这假设您的用户模型有一个 last_login_on 字段,该字段的 datetime 值会在用户登录时更新。

from datetime import datetime, timedelta
from flask_login import current_user

@app.before_request
def check_login_age():
    # check if older than 30 days
    if current_user.last_login_on < datetime.utcnow() - timedelta(30):
        # do something to block it
        abort(401)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-15
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 2015-09-17
    • 1970-01-01
    相关资源
    最近更新 更多