Контроль разрешений codeigniter [в резерве]

у меня есть следующая ситуация: моя система обладает 5 списками, и у пользователя может быть более одного списка. То, что работало, состоит, в момент logueo, в том, чтобы просить тип списка, с которым хочется соглашаться. Какой другой формы я могу контролировать разрешения или привилегии в пользователя с 2 или более списками без необходимости спрашивать с каким типом списка захоти инициализировать сеанс?

-1
задан 21.10.2019, 19:07
1 ответ

Управление списков ты это можешь делать посредством какого-то поля в тебе base de datos.

А именно, если у тебя есть так называемая таблица usuarios и у этой есть поля usuario, contraseña, ты можешь добавлять поле tipo типа enum (это select выборов) или ты можешь создавать другую таблицу roles и посредством таблицы roles_usuario связывать id_usuario с id_role.

Преимущество в том, чтобы использовать независимую таблицу состоит в том, что, если после ты хочешь добавить другой rol, ты можешь делать это более легким способом с одним insert в вышеупомянутой таблице, взамен, если ты это делаешь с enum единственные списки, которые будут существовать, они будут теми, которых ты определишь.

И однажды реализованный это ты можешь санкционировать из-за способа твой метод удостоверения, если usuario и contraseña встречаются ты он допускаешь к системе, делаешь консультацию usuario и получаешь Ваши tipo, если имеет тип X redireccionas по отношению к Вашей соответствующей панели с redirect().

if($usuario->tipo == 'admin'):
    //esta es la función del controlador admin que muestra el inicio
    redirect('admin/index'); 
else:
    //esta es la función del controlador de usuario normal
    redirect('normal/index');
endif;

- Это такой простой как санкционировать, что у типа списка есть пользователь и точка, в каждых Controller ты можешь определять утверждение, которое только позволяло бы пользователю со списком в специфическом средстве соглашаться.

Пример:

public function valida_session()
{
    // si el usuario es diferente de administrador lo redireccionas a su panel
    if($usuario->tipo != 'admin'):
        redirect('normal/index');
    endif;
}
0
ответ дан 24.10.2019, 23:32

Теги

Похожие вопросы