在我的第一个CodeIgniter 2应用程序中尝试授权。了解会话,我无法理解我必须在什么时候为访客初始化会话?在一个具体的行动或建设者?众所周知,用户可以通过自己键入URL来调用任何操作。这是否意味着我必须拥有类似before()
方法的东西,必须在所有操作之前调用,并在其中检查会话是否可用,如果不是,则启动会话?
从这些网站我可以看到有关会议的共同点,但我想了解CodeIgniter框架的一些例子。也许CodeIgniter中的授权比这些授权更具体。
答案 0 :(得分:1)
Session类将每个用户的会话信息存储为cookie中的序列化(和可选加密)数据。它还可以将会话数据存储在数据库表中以增加安全性,因为这允许将用户cookie中的会话ID与存储的会话ID进行匹配。默认情况下,仅保存cookie。如果您选择使用数据库选项,则需要创建会话表,如下所示。
注意: Session类不使用本机PHP会话。它会生成自己的会话数据,为开发人员提供更多灵活性。
注意:即使您没有使用加密会话,也必须在配置文件中设置一个加密密钥,用于帮助防止会话数据操作。
会话通常会在每次页面加载时全局运行,因此会话类必须在控制器构造函数中初始化,或者可以由系统自动加载。在大多数情况下,会话类将在后台无人值守运行,因此只需初始化类将使其读取,创建和更新会话。
要在控制器构造函数中手动初始化Session类,请使用$ this-> load->库函数:
$this->load->library('session');
您可以在UserGuide
中阅读CI Sesseion的更多信息非常感谢