自从我看到任何有关此事的问题以来已经过了几个月,但我想知道是否还有人找到了解决方案/写了一个帮助器/模型来解决Code Igniter中的这种困境,而不是偏离其内置的在会议中。
基本上,为用户提供登录表单,他们将在其中输入用户名或电子邮件地址以及密码。还向用户提供了“记住我”复选框,用于延长登录的持续时间。
CodeIgniter会话的问题是(A)当您关闭浏览器时它们不会过期,(B)您无法以用户到用户的方式更改会话的长度,但只能全局更改(在我的经验中)。
我认为使用cookie模型/帮助程序可以为这些会话添加一些额外的管理。然而,在我解决这个过程的麻烦之前,我想知道是否有其他人在这个领域做过一些事情并且可以提供CodeIgniter方面的一些代码/逻辑。我以前写过基于Cookie / Session的登录系统,但是CodeIgniter在这个领域提出了一个小小的困境。
任何帮助都会被证实!
答案 0 :(得分:0)
我很抱歉这样说,但CodeIgniter的会议很疯狂。它不会将会话存储在服务器上,而是将它们存储在cookie中。我的建议是使用本机PHP会话(不确定是否有插件)。然后将它们存储在服务器端。您可以使用session_set_cookie_params函数(有条件地)有条件地延长cookie的生命周期。
虽然我的答案不是特定于CodeIgniter的,但我希望它有用。
编辑:用户指南中的this page提到了如何在数据库中存储会话。
答案 1 :(得分:0)