Я разрабатываю раздел администрирования для проекта в laravel 5. Где у меня есть несколько администраторов и супер администратор. В этом проекте супер-администратор может проверять действия суб-администраторов.
Теперь супер администратор хочет проверить, что другие администраторы делают на панели администратора.
Пример:
Администратор обновил информацию о пользователе, такую как адрес, номер телефона или адрес электронной почты. Как супер админ узнает, кто из администраторов сделал это и кто был пользователем, который был обновлен администратором.
Какой должна быть лучшая практика для этого, если я буду сохранять каждое действие в таблице базы данных? или любая лучшая практика?
Вы должны создать новую таблицу для хранения всех действий, выполненных администраторами.
Ваша новая таблица должна иметь поля для хранения следующих деталей
who
— The person who performed an action
what
— what action he/she performed(update, delete)
when
— when the action is performed
on whom
— on which user the action is performed
Теперь вы должны создать observers
на всех моделях, которые вы хотите отслеживать (пользователи)
увидеть — Наблюдатели Laravel
Ваш наблюдатель должен иметь все методы для действий, которые выполняет администратор (создать, сохранить, обновить, удалить)
Ваш метод наблюдателя должен записывать действия, выполненные этим администратором, в только что созданную вами таблицу.
Супер администратор может просматривать записи в этой таблице, чтобы отслеживать поведение администраторов.
Других решений пока нет …