我有一个应用程序,它的后端是用django和python写的。我想在我的应用程序中实现自动注销功能。为此,我使用了以下django内置功能:
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 40
SESSION_SAVE_EVERY_REQUEST = True
字符串
我还使用LOGOUT_REDIRECT_URL
在注销后重定向页面。
但这无济于事。
- 40秒后,注销发生,但它在前端不可见,登录页面只有当用户刷新标签或在标签中提出任何请求时才会出现。
1.如果我关闭浏览器并再次打开它,主页显示没有数据,因为数据是用户特定的。并且如果刷新完成或者标签完成,则标签被重定向到登录页面。
我想实现两个场景:
1.如果发生自动登录,用户应自动重定向到登录页面。
1.如果用户关闭浏览器窗口并再次打开,则应向用户显示应用程序的登录页面。
对于如何实现这些场景,有什么建议吗?
如果你能帮忙的话,我将不胜感激。- 谢谢-谢谢
3条答案
按热度按时间oprakyz71#
是的,就是这样。您的浏览器不会自动执行任何操作。您必须编写必要的JavaScript代码来监控会话cookie的年龄。当它过期时,您的JavaScript代码将加载登录页面。
1.如果我关闭浏览器并再次打开它,主页显示没有数据,因为数据是用户特定的。并且如果刷新完成或者标签完成,则标签被重定向到登录页面。
听起来不太对劲如果您重新打开浏览器并访问应用程序的主页,它应该会将您带到登录页面。但是,您是否尝试在重新打开浏览器后恢复浏览器的会话(
Ctrl + Shift + T
)?wz8daaqr2#
自动注销。
在settings.py文件中添加以下两个值:
1.第一个月
字符串
SESSION_SAVE_EVERY_REQUEST = True
个############################################################
然后在base.html文件中添加以下jquery代码:
型
w51jfk4q3#
在static/js文件夹和base.html文件中添加session.js文件:
字符串