CodeIgniter HMVC动态角色访问问题

时间:2015-10-21 07:12:29

标签: php codeigniter acl hmvc codeigniter-hmvc

我正在使用CodeIgniter 3.x,HMVC latest,ion Auth进行身份验证并基于应用程序角色。
该应用程序是基于动态角色的。即数据库处理角色►用户►modules-controlers-CRUD_rights
现在一个模块函数调用第二个模块函数。 问题是当第一个模块权限为READ且第二个模块没有给予特定用户READ权限时。我无法弄清楚如何处理这种请求。

例如。

Role1 ► SalesGuy ► SalesModule ► InvoiceController
Role2 ► User2 ► ClientsModule ► ClientController ► load_clients_function

Role1没有对ClientsModule的READ访问权限 现在,当In In Coding我通过以下代码访问客户时:

$clients_data = modules::load('ClientsModule/ClientController')->load_clients_function();

我得到404,因为ClientsModule / ClientController构造函数的代码正在跟随。

    $this->mymodule = $this->router->fetch_module(); //ClientsModule
    $this->myclass = $this->router->fetch_class(); //ClientController 

    $is_allowed = modules::load('myauth/')->mod_allowed($this->mymodule, $this->myclass); 
// ^^^ this function checks in DB that logged in user has access to modules/controller or not.
    if ($is_allowed !== '1') {
        show_404();
    }

我不确定我错过了什么。无论是我正确使用HMVC的知识还是使用OOPS的知识都达不到标记。如果有人经历过HMVC和/或CI,请帮助我。

0 个答案:

没有答案