如何判断django基于数据库的会话是否已在浏览器中过期?

时间:2017-07-30 08:49:22

标签: django session cookies

我目前在我的django应用程序中使用默认的数据库支持的会话模型。前端是一个与REST API连接的SPA,并具有异步登录功能,以便用户在会话超时时不会丢失页面。我试图检测会话在浏览器中的超时时间,以便显示登录模式。

然而:

  • 如果User不再被授权执行API请求 因为他们不再登录,他们得到HTTP403。
  • 如果User尝试访问属于其他Users的对象实例, 他们也得到了HTTP403。

所以我需要区分两个403。我的直接本能是比较sessionid cookie和now的到期时间,但是:

  1. Cookie为httpOnly
  2. 未设置到期日
  3. 因此我的问题是:如何在浏览器中告诉我的django会话是否已过期?

1 个答案:

答案 0 :(得分:0)

根据标准,HTTP401用于未经授权的访问。你可以在这里找到更多关于HTTP401的信息。 https://httpstatuses.com/401