Я работаю над новым приложением Angular2, и мне было интересно, как вы управляете маршрутами, доступными для определенных ролей и разрешений для создания, редактирования и удаления элементов для определенных ролей.
Я хочу знать, как решить эту проблему:
-
Как вы управляете доступом к некоторым элементам пользовательского интерфейса? Как приложение знает, чтобы показать или скрыть это? Используете ли вы один сервис для этого? Или вы создаете разные условия для разных мест в своем приложении?
-
Как вы управляете своей маршрутизацией? Используете ли вы CanActivate, CanActivateChild, CanLoad и т.д.? Вы строите единую охранную службу для всех маршрутов или создаете разные службы для разных модулей или компонентов?
-
И последний вопрос. Каков наилучший способ разделить приложение, тогда вы можете продать его, как CMS? Я имею в виду, как мы можем реализовать возможность загрузки некоторых других модулей с рынка, например, и добавить их в ваше приложение?
Как вы решаете подобную проблему?
Любое руководство, опыт или указатели на материалы, посвященные этим темам, высоко оценены. Заранее спасибо.