1

我正在开发一个基于权限的系统,它将能够使用 codeigniter (HMVC) 检查控制器中任何功能的权限。我希望能够在执行该功能之前运行特定功能来检查权限。这怎么可能?

任何帮助想法表示赞赏

4

2 回答 2

0

在您的身份验证库中创建一个检查用户角色和权限的函数,并在构造函数内每个函数的控制器上调用您的函数。我这样做:

    public function __construct() {
    parent::__construct();
    $this->m_auth->notLogin();
    $this->load->library('form_validation');
    $this->load->library('ajax_pagination');
    $this->load->library('dateconverter');
    $this->load->helper('check');
    $this->load->model('immovable/immovable_model');
    $this->lang->load('home',  $this->m_auth->get_language());
    $this->lang->load('personal',  $this->m_auth->get_language());
    $this->lang->load('global',  $this->m_auth->get_language());
    //this is the function which checks for roles of users
    $this->m_auth->check_asset_user();
}

对于自定义角色,您还可以在身份验证库中创建另一个函数并在函数顶部调用它,这是代码示例:

public function get_data()
{
    if($this->m_auth->check_user()==2)
    {
        //do what you want
    }
    else
    {
        $this->load->view('unauthorized');
    }
}
于 2013-08-12T10:15:29.950 回答
0

你可以试试post_controller_constructor钩子。

于 2013-08-12T09:36:51.990 回答