为什么我的django应用程序每次访问新页面时都会弹出登录页面?在chrome的inspect元素的Resource选项卡中,我确实看到每次django重定向到登录页面时会话ID都会更改。这意味着,快速会话到期是根本原因?怎么修好?
ADMIN用户和普通用户都会遇到这种情况。我正在使用django-allauth很长一段时间没有任何问题。
对于管理员用户,点击“添加社交应用”时就像这样[只是一个例子,不是真正的链接] http://localhost:8080/admin/login/?next=/admin/socialaccount/socialapp/
对于普通用户,它是 http://localhost:8080/account/login/?next=/some/page/
我对django-allauth的配置:
LOGIN_URL = '/accounts/login'
LOGIN_REDIRECT_URL = '/home/'
ACCOUNT_AUTHENTICATION_METHOD = "email" #(=username_email”username” | “email” | “username_email”)
ACCOUNT_CONFIRM_EMAIL_ON_GET = False
ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL = LOGIN_URL
ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL = LOGIN_REDIRECT_URL
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 10
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = None
ACCOUNT_EMAIL_SUBJECT_PREFIX = "[SITE]: "
ACCOUNT_DEFAULT_HTTP_PROTOCOL = "http"
ACCOUNT_LOGOUT_ON_GET = False
ACCOUNT_LOGOUT_REDIRECT_URL = LOGIN_URL
ACCOUNT_SIGNUP_FORM_CLASS = 'myapp.forms.MyUserCreateForm'
#A string pointing to a custom
ACCOUNT_SIGNUP_PASSWORD_VERIFICATION = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_USERNAME_REQUIRED = False
SOCIALACCOUNT_AUTO_SIGNUP = True
#Enforce uniqueness of e-mail addresses.
ACCOUNT_USER_MODEL_EMAIL_FIELD = "email"
ACCOUNT_USERNAME_BLACKLIST = []
ACCOUNT_PASSWORD_INPUT_RENDER_VALUE = False
ACCOUNT_PASSWORD_MIN_LENGTH = 6
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
答案 0 :(得分:1)
我做了两件事,现在问题似乎消失了。
将其添加到settings.py
中SESSION_COOKIE_AGE = 1209600 #expire in 2周
但是,第二个是由Django从文档中自动配置的。可能我的一些使用cookie的javascripts会影响到期时间