【发布时间】:2015-11-05 04:59:02
【问题描述】:
有什么方法可以检查用户上次登录的时间,如果这个时间更长,那么 x flask 会阻止一个帐户?是否可以使用烧瓶以及如何处理事件侦听器来做到这一点?
【问题讨论】:
-
是的,有一种方法可以为用户模型添加时间戳,但仍然找不到让flask检查它的方法。
标签: python flask flask-login
有什么方法可以检查用户上次登录的时间,如果这个时间更长,那么 x flask 会阻止一个帐户?是否可以使用烧瓶以及如何处理事件侦听器来做到这一点?
【问题讨论】:
标签: python flask flask-login
使用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)
【讨论】: