Как обрабатывать права пользователей - PullRequest
0 голосов
/ 05 марта 2020

Я бы хотел создать сайт с разными разрешениями для пользователей. Не все пользователи могут делать то же самое, и они не должны иметь возможность просматривать то же самое. Является ли лучшее решение для обработки этого на разных страницах? Так что, если пользователь с более высоким разрешением войдет в систему, он будет перенаправлен на страницу с другими / более функциями?

1 Ответ

0 голосов
/ 05 марта 2020

Для этого вам придется использовать управление ролями и разрешениями на уровне вашей БД.

Создать таблицу с именем роли

Таблица ролей (роль)

id role_name
1  Super-Admin
2  Admin
3  User

Таблица пользователей (пользователи)

id name  role_id
1  James 1
2  Jack  2

Таблица разрешений (разрешение)

id page_name
1  View Users List
2  Dashboard
3  Update User

Таблица разрешений ролей (role_permission)

role_id permission_id
1        1
1        2
2        2

После успешного входа в систему пользователь получает role_id пользователя по таблице пользователя и перечисляет все разрешения для этого идентификатора роли, а затем перенаправляет согласно

select rp.role_id,p.page_name from role_permission as rp inner join permission p 
on p.id = rp.permission_id where rp.role_id = 1(role id of the user)

Надеюсь, это поможет вам.

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