Django应用程序,用于实现“记住我”功能(使用令牌)
项目描述
将auth_remember身份验证后端添加到django
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'auth_remember.backend.AuthRememberBackend', )
在设置中将remember中间件添加到AuthenticationMiddleware之后
MIDDLEWARE_CLASSES = ( ... 'django.contrib.auth.middleware.AuthenticationMiddleware', 'auth_remember.middleware.AuthRememberMiddleware', ... )
将auth_remember添加到INSTALLED_APPS
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 %}
在内部,auth_remember使用session变量AUTH_REMEMBER_FRESH来指示用户会话是否是新用户。会话变量的名称可以通过在设置文件中设置AUTH_REMEMBER_SESSION_KEY来更改。
更多信息
待办事项
引入AUTH_REMEMBER_COOKIE_DOMAIN设置