Мы используем AngularJs. В нашем приложении у нас есть около 8 ролей, таких как SUPER_ANDMIN, ADMIN, USER, RESELLER и т.д., Поэтому, если роль пользователя - ADMIN, тогда отображаются 7 вкладок, но если роль пользователя - USER, то при каждом вызове отображаются только три вкладки мы отправляем роль пользователя с сайта сервера.
поэтому, что лучше всего, нам нужно положить ng-if
на каждую вкладку или любой лучший вариант в AngularJS.
Вы можете сделать гибридное приложение, создающее несколько SPA, которые определяют определенные части функциональности в вашем приложении, или вы можете иметь один SPA с несколькими видами и ограничивать представления на основе вашей роли.
В случае последнего вы можете использовать ui-router с данными, прикрепленными к каждому представлению. После аутентификации вы можете определить роль и ограничить пользователя просмотром определенных страниц.
У меня есть небольшой example
на плункер. Обратите внимание, что я не ограничил навигацию, чтобы вы могли видеть, что просмотр соответствующих страниц запрещен и аутентификация каким-либо образом не является реальной реализацией.