Django自动注销和页面重定向

时间:2018-09-25 10:48:41

标签: python django logout

我有一个应用程序,其后端使用django和python编写。我想在应用程序中实现自动注销功能。为此,我使用了以下django内置功能:

SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 40
SESSION_SAVE_EVERY_REQUEST = True

我还使用LOGOUT_REDIRECT_URL在注销后重定向页面。

但这没有帮助。

  1. 40秒后,注销发生,但在前端不可见,只有用户刷新选项卡或在选项卡中提出任何请求时,登录页面才会出现。

  2. 如果我关闭浏览器并再次打开它,则主页将不显示任何数据,因为这些数据是用户特定的。并且如果完成了选项卡的刷新,则选项卡将重定向到登录页面。

我想实现两种情况:

  1. 如果发生自动日志,则应将用户自动重定向到登录页面。

  2. 如果用户关闭浏览器窗口并再次打开它,则应显示该应用程序的登录页面。

关于如何实现这些方案的任何建议?

任何帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:0)

  
      
  1. 40秒后,将注销,但在前端不可见,仅当用户刷新选项卡或在选项卡中发出任何请求时,登录页面才会出现。
  2.   

是的,这就是它的工作原理。您的浏览器不会自动执行任何操作。您必须编写必要的Javascript代码来监视会话cookie的寿命。并且当它过期时,您的Javascript代码将加载登录页面。

  
      
  1. 如果我关闭浏览器并再次打开它,则主页将不显示任何数据,因为这些数据是用户特定的。如果完成了选项卡的刷新,则该选项卡将重定向到登录页面。
  2.   

听起来不对。如果您重新打开浏览器并访问应用程序的主页,则应该进入登录页面。但是,您是否要在重新打开浏览器(Ctrl + Shift + T)之后恢复其会话?