我有一个应用程序,其后端使用django和python编写。我想在应用程序中实现自动注销功能。为此,我使用了以下django内置功能:
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 40
SESSION_SAVE_EVERY_REQUEST = True
我还使用LOGOUT_REDIRECT_URL
在注销后重定向页面。
但这没有帮助。
40秒后,注销发生,但在前端不可见,只有用户刷新选项卡或在选项卡中提出任何请求时,登录页面才会出现。
如果我关闭浏览器并再次打开它,则主页将不显示任何数据,因为这些数据是用户特定的。并且如果完成了选项卡的刷新,则选项卡将重定向到登录页面。
我想实现两种情况:
如果发生自动日志,则应将用户自动重定向到登录页面。
如果用户关闭浏览器窗口并再次打开它,则应显示该应用程序的登录页面。
关于如何实现这些方案的任何建议?
任何帮助将不胜感激。 谢谢。
答案 0 :(得分:0)
- 40秒后,将注销,但在前端不可见,仅当用户刷新选项卡或在选项卡中发出任何请求时,登录页面才会出现。
是的,这就是它的工作原理。您的浏览器不会自动执行任何操作。您必须编写必要的Javascript代码来监视会话cookie的寿命。并且当它过期时,您的Javascript代码将加载登录页面。
- 如果我关闭浏览器并再次打开它,则主页将不显示任何数据,因为这些数据是用户特定的。如果完成了选项卡的刷新,则该选项卡将重定向到登录页面。
听起来不对。如果您重新打开浏览器并访问应用程序的主页,则应该进入登录页面。但是,您是否要在重新打开浏览器(Ctrl + Shift + T
)之后恢复其会话?