我正在开发一个基于权限的系统,它将能够使用 codeigniter (HMVC) 检查控制器中任何功能的权限。我希望能够在执行该功能之前运行特定功能来检查权限。这怎么可能?
任何帮助或想法表示赞赏
我正在开发一个基于权限的系统,它将能够使用 codeigniter (HMVC) 检查控制器中任何功能的权限。我希望能够在执行该功能之前运行特定功能来检查权限。这怎么可能?
任何帮助或想法表示赞赏
在您的身份验证库中创建一个检查用户角色和权限的函数,并在构造函数内每个函数的控制器上调用您的函数。我这样做:
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');
}
}
你可以试试post_controller_constructor钩子。