在我的应用程序中,我希望用户在完成敏感操作(如编辑其订阅)之前重新输入密码。成功重新认证后,权限将受到时间限制。
我找不到支持该功能的django功能,但是由于django似乎可以完成我认为值得询问的所有其他事情-django可以做到这一点还是可以将其配置为做到这一点?
答案 0 :(得分:2)
您不需要明确的许可。 session是在用户上设置临时属性的理想选择。
例如,当用户重新认证时,您可以添加时间戳记:
request.session['reauth_at'] = datetime.datetime.now()
并在“编辑订阅”视图中进行检查:
earliest_reauth = datetime.datetime.now() - REAUTH_EXPIRY_DURATION
if request.session.get('reauth_at', datetime.datetime.min) > earliest_reauth:
... allow ...