1

我正在使用 Django 1.2.5 的网站上工作。它使用 Django 身份验证后端来登录和注销用户。这反过来又使用 Django 会话框架来设置 cookie。似乎 Django 会话后端设置的 cookie 会在 2 周后过期。我收到了用户的投诉,他们正在退出他们的帐户并且必须重新登录,我怀疑这是由于 cookie 在 2 周后过期的事实。我必须SESSION_COOKIE_AGE1 年(即 31556926 秒),但我不知道这是否是解决这个问题的最佳方法——我不确定它是否会产生无意的副作用。

有没有办法让用户无限期地登录(即,让他们保持登录状态,直到他们手动注销)?我还没有找到设置,但任何解决方案(例如,中间件等)都是可以接受的。

4

2 回答 2

1

延长会话寿命的唯一方法是通过寿命更长的 cookie。其他所有用户识别方法(例如 IP + 用户代理)都存在歧义,因此存在安全问题。

于 2011-04-08T15:38:27.353 回答
1

我创建了一个简单的中间件,它定期更新用户会话 cookie,从而消除了所描述的问题。

https://github.com/IlyaSemenov/django-everlasting-sessions

于 2015-04-02T12:56:51.037 回答