mysql — PHP многоуровневая авторизация

объяснил дело

Я создал систему для компании, которая имеет несколько филиалов в других провинциях.
боссы этой компании обратились к нам с просьбой о том, чтобы все филиалы были отделены друг от друга, чтобы менеджер филиала_1 не мог видеть или контролировать данные филиала_2 и наоборот. как это через все ветви.
В каждом филиале работает несколько сотрудников, и каждый сотрудник одного филиала может вставить соответствующие данные этого филиала, и у сотрудников не может быть других элементов управления данными.
я сделал систему на чистом PHP и MySQL.
в конце концов я хочу хороший способ продолжить этот проект.

0

Решение

Вы можете сделать это с помощью пользовательской таблицы в базе данных, определив user_role, is_super_admin, default_branch_id и т. Д. И управляя пользователем, сохранив default_branch_id в сеансе.

  • Как вы сохраняете branch_id в сессии. Затем, когда пользователь из Branch_1 войдет в систему, он сможет увидеть данные Branch_1.
  • Определив user_role_id в пользовательской таблице, вы можете дать разное разрешение другому пользователю. Например:
    role_id = 1 означает Super Admin. Он контролирует всю систему.
    role_id = 2 означает Admin. Он контролирует одну ветку.
    role_id = 3 означает HR. У него есть только отчет
    

Вы можете прочитать учебник по ролевой привилегии на Ролевая привилегия в php или же Вот

0

Другие решения

Других решений пока нет …