-1

我正在尝试使用 codeigniter 创建一个涉及用户限制区域的简单网站,

并且想知道如何设计我的登录控制器,以便在每个页面上加载一个控制器,检查该用户是否被允许进入该页面/是否允许执行该功能。

问题:

  1. 我如何在每个页面上自动加载此登录功能。
  2. 检查是否允许用户执行此功能的正确安全逻辑是什么?注意到我有 3 种不同的用户类型,1.admin 2.secretary 3.worker 那么我如何将功能分配给那里的所有者?“管理员应该能够将访问权限分配给其他 2 种类型”

我已经完成了我的项目,但我对此登录用户访问控制的经验为 0,因此任何建议将不胜感激

4

1 回答 1

1

你应该看看“MY_Controller”。基本上,您创建一个名为 MY_Controller.php 的文件并将其放在 application/core (http://ellislab.com/codeigniter/user-guide/general/core_classes.html)

在这个文件中放置一个名为 MY_Controller 的类,它扩展了 CI_Controller

class MY_Controller extends CI_Controller {
    public function __construct() {
        parent::__construct();
        //check if your user is logged in here
    }
}

在调用任何其他控制器方法之前,将首先调用上面的构造。因此,您可以检查用户是否已登录,如果没有,则重定向到您的登录表单。

有很多不同的身份验证库可能会帮助您解决第二个问题。看看这些,它们可能会对你有所帮助(不记得我脑海中的任何东西,但我知道你有选择)。

于 2012-12-04T20:07:23.117 回答