Добавьте более 1 роли в разрешении в функции Codeigniter - PullRequest
0 голосов
/ 06 апреля 2020

В настоящее время я работаю над повторной адаптацией системы ERP, которая уже имеет некоторые функции, большинство из них заблокированы только для пользователей с правами администратора, но я хочу разблокировать ее также для персонала, функция редактирования выглядит следующим образом:

public function can_action($table, $action, $id, $permission = null)
{
    $role = $this->session->userdata('user_type');
    $user_id = $this->session->userdata('user_id');
    $result_info = $this->db->where($id)->get($table)->row();
    if (!empty($permission) || $role != 1) {
        if (!empty($result_info)) {
            if ($result_info->permission != 'all') {
                $get_permission = json_decode($result_info->permission);
            } else {
                return true;
            }
            if (is_object($get_permission)) {
                foreach ($get_permission as $user => $v_permission) {
                    if (!empty($v_permission)) {
                        foreach ($v_permission as $v_action) {
                            if ($user == $user_id) {
                                if ($v_action == $action) {
                                    return true;
                                }
                            }

                        }
                    }
                }
            }
        } else {
            return false;
        }
    } else {
        return true;
    }
}

$ role! = 1 означает администратора, я также хочу добавить роль 3

Предложения?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...