я пытаюсь создать приложение, в котором будет несколько групп
Супер Админ, Модераторы, Арендаторы, Пользователи
Для того, чтобы Super Admin имел доступ ко всем страницам / представлениям и контроллерам.
Но остальные группы будут иметь доступ к страницам / представлениям на основе ролей / разрешений.
Я, однако, сделал основные меню заполненными на основе групп пользователей, но проблема, с которой я сталкиваюсь, заключается в том, что.
Если пользователь входит в систему и получает прямой доступ к странице со ссылкой, то страница открывается, поскольку на контроллере нет никаких ограничений.
Прошли часы, и я бьюсь головой, чтобы выяснить, как ограничить не аутентичного пользователя от открытия запрещенной страницы / просмотра.
Я вижу два пути,
MY_Controller
Это работает каждый раз, когда доступ к контроллеру, это выглядит многообещающе, но я не уверен, как это сделать.Если у кого-то есть идеи или они столкнулись с той же проблемой, пожалуйста, помогите мне найти решение.
В моем собственном приложении я расширил класс контроллера ядра с помощью MY_Controller, и внутри я создал две функции для двух моих групп пользователей. Затем при создании обычного контроллера вы расширяете его с помощью пользовательской функции. Например:
MY_Controller.php
class Super_admin extends CI_Controller{
function __construct(){
parent::__contstruct();
//check for super admin privlidges
}
}
some_controller.php
class some_controller extends Super_admin{
//do whatever you need in here
}
Других решений пока нет …