0

在我的第一个 CodeIgniter 2 应用程序中尝试授权。了解会话,但我不明白什么时候必须为访客初始化会话?在具体行动中还是在构造函数中?众所周知,用户可以通过自己输入 URL 来调用任何操作。这是否意味着我必须有类似before()方法之类的东西,必须在所有操作之前调用该方法,并在其中检查会话是否可用,如果没有,则启动会话?

从这些站点我可以阅读共同的会话,但我想要一些关于 CodeIgniter 框架的示例。也许 CodeIgniter 中的授权比这些授权更具体。

4

1 回答 1

1

Session 类将每个用户的会话信息存储为 cookie 中的序列化(和可选加密)数据。它还可以将会话数据存储在数据库表中以增加安全性,因为这允许用户 cookie 中的会话 ID 与存储的会话 ID 相匹配。默认情况下只保存 cookie。如果您选择使用数据库选项,您需要创建会话表,如下所示。

注意: Session 类不使用原生 PHP 会话。它生成自己的会话数据,为开发人员提供更大的灵活性。

注意:即使您没有使用加密会话,也必须在配置文件中设置一个加密密钥,用于帮助防止会话数据被操纵。

会话通常会在每次页面加载时全局运行,因此会话类必须在控制器构造函数中初始化,或者可以由系统自动加载。在大多数情况下,会话类将在后台无人看管地运行,因此只需初始化该类将导致它读取、创建和更新会话。

要在控制器构造函数中手动初始化 Session 类,请使用 $this->load->library 函数:

$this->load->library('session');

有关 CI 会话的更多信息,您可以在 UserGuide 中阅读

非常感谢

于 2013-03-29T18:27:09.980 回答