2012-07-20 107 views
0

我正在使用Codeigniter构建CMS,并且正在使用Ion Auth进行身份验证。如何通知用户会话过期

虽然在后期创建页面上进行了一些测试(认为Wordpress添加新帖子),但我注意到如果用户会话过期,某些Ajax内容会失败。现在,我可能会添加一些内容以在Ajax控制器中返回消息,但是我想在他们采取任何其登录会话将会/过期的操作之前显示一条消息。

这样做的最好方法是什么?

+0

我这样做是通过获取ajax响应作为文本,将其解析为JSON(因为返回的数据是JSON),如果解析失败,我们可能重定向到登录页面(html - 非JSON)。 (但是在现有系统上这样做必须做一些工作) – Waygood 2012-07-20 15:41:00

+0

你可以查看cookie的截止日期/时间,除非cookie被设置为httponly。即使不是,也不能肯定是会话的福音到期时间,因为还有服务器到期时间,之后会话数据是GC'd。您可以重复使用AJAx查询服务器以查看会话是否仍然有效,但是这对于很少的材料收益来说是额外的工作和流量。最好的办法就是让会话过期时,依赖于会话的AJAX内容会优雅地失败。那或者使用HTTP认证。 – GordonM 2012-07-20 15:43:17

回答

0

您可以在其中添加$ _SESSION ['CREATEDTIME']并存储datetime()。通过AJAX进行比较,并在会话过期时添加标签或类似通知用户。