Django总是重定向到登录页面[在Chrome和Firefox中,不在Safari中发生]

时间:2015-10-28 20:36:49

标签: django django-allauth

为什么我的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

1 个答案:

答案 0 :(得分:1)

我做了两件事,现在问题似乎消失了。

  1. 更新我的chrome / firefox
  2. 将其添加到settings.py

    SESSION_COOKIE_AGE = 1209600 #expire in 2周

  3. 但是,第二个是由Django从文档中自动配置的。可能我的一些使用cookie的javascripts会影响到期时间