Я не профессионал, но решение для себя такое сделал.
Фронтенд хранит все формы, кнопки и тп. отображение интерфейса производится через проверку прав доступа.
Сервер на laravel, после авторизации возвращает меню + rbac пользователя. Интерфейс отрисовывается в зависимости от разрешений пользователя (permissions). При изменении списка разрешений, например администратором, отправляется обновлённый список ролей пользователю через websocket. Перестраивается интерфейс.
И на сервере всегда проверяю разрешено ли пользователю выполнять данное действие.