2017-03-07 49 views

回答

0

它没有。当一个会话到期时,它只是到期,就是这样。

我认为你的问题是基于对所有登录内容的误解。 Django不知道谁在特定的时间登录过;网络是无状态的,Django知道用户的唯一时间是他们提出请求时。此时,Django可以区分具有有效会话cookie的用户和不具有有效cookie的用户。但是,如果会话随后到期,第一个Django将知道该用户下一次发出请求的时间。

+0

我需要知道django验证会话cookie的方法/类,并确定请求是否来自用户“Dalailama”。之后,我期望找到request.user,“Dalailama”或“匿名用户” – jalanga

+0

这是在身份验证中间件。 –

0

您可以通过request.user获取用户在任何地方查看。如果您通过request.user获得有效的用户信息,则用户登录。并且这是NULL那么用户没有登录。

+0

实际上不是NULL是AnonymousUser,并没有帮助我。我想说的是:在用户登出时我会做一些东西,但是当会话过期时 - >用户已经注销,但我想在这里做同样的事情。 – jalanga

+1

django会话由认证中间件处理。你无法赶上会议过期或不在任何地方你的代码。您只能通过request.user方法获取登录用户的信息 –