Проверьте некоторые библиотеки авторизации с некоторыми основными привилегиями. Тогда у вас будет структура базы данных и несколько примеров. Например Tank auth.
Большую часть времени после входа пользователя вы добавляете в сеанс его group_id, а в контроллерах вы проверяете, может ли эта группа получить доступ к этой странице.
нравится:
if($this->session->userdata('group_id')!=1){
$this->session->set_flashdata('error','Permission denied');
redirect('/');
}else{
//show page
}