@matros97

Права пользователь?

Надо на сайте сделать разделение прав пользователей, чтобы у пользователя обычного в админке не было пары пунктов меню. Принял решение создать поле в таблице users столбец is_admin: если 1 - то админ, если 0 - то пользователь.
И проверять, if(is_admin == 1) - показываем этот пункт меню.
Два вопроса:
1) Насколько это правильное решение?
2) Как узнать, какой именно пользователь сейчас в админ панели находиться?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 2
be_a_dancer
@be_a_dancer
Middle Backend/Fullstack Developer
Для простейшей системы - подойдет. А вообще - гуглить rbac, пакет spatie/laravel-permission и почитать про главу gates and permissions в документации laravel.
Ответ написан
@granty
1). Решение - правильное для небольшого проекта.

2). Вы же авторизуете пользователя, и именно по таблице users. И наверняка авторизацию храните в сессии. Добавьте в сессию поле is_admin и проверяйте его на входе в админ панель.
Надо:
- убрать ненужные пункты меню
- проверять is_admin в скриптах из этих убранных пунктов меню. Ибо ссылку на них можно ввести и руками.

PS: По уму надо делать списки скриптов, и привязывать привилегии пользователей к разрешенным им скриптам. И в начале всех скриптов проверять привилегии.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы