在主页上,我有一个表格登录。在应用程序中“家”的view.index,身份验证后,我创建ssesion。之后,我称之为应用“邻居”如果身份验证是好,
request.session['user'] = username
request.session.set_expiry(900)
return HttpResponseRedirect('/places/')
在项目的设置,我配置SESSION_SAVE_EVERY_REQUEST =真。
我怎样才能会话发送到所有其他页面的项目,并注销用户当会话过期?
HTTP是一个请求响应协议。
这意味着服务器没有办法在没有客户端发起的对话传达给客户。所以,做这样的事情,这是原生的Django的唯一办法,是让客户定期检查,看看是否会仍然是确定。
实现这一目标的方法之一是与背景Ajax调用(也许在使用JavaScript的setInterval),其检查会话,如果它不是什么好了(无论是到期或用户已被禁用等等),然后重定向他们回到登录页面。
另一种方法可能涉及发送期满时间到客户端,以便只检查时,将已过期的会话或具有推动这个信息给客户端的WebSocket服务器(尽管这不会对用户被禁回暖)。