Django的“记住我”功能应用程序(使用令牌)

django-auth-remember的Python项目详细描述


将auth_remember身份验证后端添加到django:

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
    'auth_remember.backend.AuthRememberBackend',
)

在设置中添加remember中间件 认证中间件:

MIDDLEWARE_CLASSES = (
    ...
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'auth_remember.middleware.AuthRememberMiddleware',
    ...
)

将身份验证添加到已安装的应用程序:

INSTALLED_APPS = (
    'auth_remember',
)

设置cookie名称和过期时间(可选):

AUTH_REMEMBER_COOKIE_NAME = 'remember_token'
AUTH_REMEMBER_COOKIE_AGE = 86400 * 28  # 4 weeks by default

将会话的过期时间设置为浏览器关闭(可选):

SESSION_EXPIRE_AT_BROWSER_CLOSE = True

要记住用户,请将以下代码添加到身份验证处理程序:

from auth_remember import remember_user
remember_user(request, user)

使用user.is_fresh属性测试用户是否新鲜:

{% if user.is_fresh %}
    This user session is fresh
{% else %}
    This user session is NOT fresh
{% endif %}

在hood下auth\u remember使用会话变量AUTH_REMEMBER_FRESH来 指示用户会话是否新鲜。会话变量的名称可以是 通过在您的设置文件中设置AUTH_REMEMBER_SESSION_KEY进行更改。

待办事项

  • 介绍auth_remember_cookie_域的设置

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使Eclipse在其控制台中显示最顶层的异常,而不是完整的堆栈跟踪   java如何为一个组件提供多个DropTargetListener?   在Eclipse包资源管理器中,有些文件不可见?   java在Spring Boot中使用@Bean配置设置类属性的默认值   在JTextPane中使用#链接的Java HTML?   java当应用程序打开时,如何将通知内容发送给活动?   java Android ROOM如何编写包含多个实体的查询,这是在哪里完成的?   Play Framework的java登录/注销问题?   java如何从安卓 Cordova/Phonegap调用javascript函数   JavaFX8如何在Java8中显示上次修改的LocalDateTime?   javabean验证中的多个约束注释   java使用JSTL设置请求属性   java在Android启动的服务中调用函数   用于检查xml是否包含键和值的java XPath表达式   在java游戏中使用斜坡因子挥杆   Java文件:尝试使用FileWriter将结果附加到已经存在的文件中   bootclasspath Java Xbootclasspath,相对路径   java我如何让这个“怪物战斗模拟器”工作?   swing使用动作侦听器隐藏和显示java桌面应用程序