如果用户有权限,则重定向不正确


not redirecting correct if user has permission

在我的用户组中,我设置了可以检查或取消检查每个控制器名称的位置,然后单击提交并将名称发送到数据库。采用文本/数组格式。如果尝试访问未选中的控制器,我可以访问的那些控制器将被重定向到'admin/error_permission'

每个用户的用户id旁边还有用户组id。

我如何能够从数据库中获得我的控制器的名称,然后让它们重定向到我的错误页面,就像一样

表名称:user_group:columns:user_group_id、名称、权限

存储控制器名称的列的名称是权限并且控制器名称像这样存储权限a:2:{s:6:"access";a:1:{i:0;s:11:"column_left";}s:6:"modify";a:1:{i:0;s:11:"column_left";}}

与其在数组中写入每个控制器名称,不如如何从数据库中获取这些名称

function __construct()
{
    parent::__construct();
    if ( ! $this->session->userdata('logged_in'))
    { 
        // Allow some methods names from the database permission?
        $allowed = array(
        );
        if ( ! in_array($this->router->fetch_method(), $allowed)
        {
            // Not Allowed Access
            redirect('admin/error_permission');
        }
    }
}
$permissions = 'a:2:{s:6:"access";a:1:{i:0;s:11:"column_left";}s:6:"modify";a:1:{i:0;s:11:"column_left";}}';
$permissions_array = unserialize($permissions);
var_dump($permissions_array);

输出:

array(2) {
  'access' =>
  array(1) {
    [0] =>
    string(11) "column_left"
  }
  'modify' =>
  array(1) {
    [0] =>
    string(11) "column_left"
  }
}

if (false === array_key_exists($this->router->fetch_method(), $permissions_array))
{
            // Not Allowed Access
            redirect('admin/error_permission');
}