Django:如果会话结束,检测鼠标点击

时间:2018-02-22 07:16:16

标签: python django django-sessions

我已经为我的应用程序创建了一个登录页面并将会话设置为3分钟并且工作正常,但问题是当会话发生时,用户仍然可以在当前页面上执行许多活动,即注销除非用户执行页面刷新或重定向到其他页面,否则页面不会显示。 那么,一旦会话结束并且用户在当前页面上执行任何活动,如何才能进行注销?

1 个答案:

答案 0 :(得分:0)

您可以在后台运行javascript setTimeout,检查用户是否已登录,三分钟后浏览器窗口将刷新。

或(更好)

您可以运行此计时器服务器端,当客户端尝试更改某些内容时,首先查看计时器或值,直到客户端登录的时间为止,然后根据执行操作的时间或不。所以在三分钟间隔后,用户将能够看到内容,但是当他试图改变某些内容后,后端会拒绝该请求并要求他再次登录。

这是更好的解决方案,因为当涉及到身份验证和类似的事情时,每次在服务器端而不是在客户端浏览器中执行它们会更好,因此无法利用它。

BUT

两种解决方案都可以同时应用(这样客户端的浏览器就会重新加载窗口并将客户端重定向到登录页面,服务器会拒绝请求,这样就不会以任何方式修改数据)。