Здесь я создаю приложение Angular 2 с распределенной базой данных и архитектурой микросервисов. В моем сценарии приложения условие приложения состоит в том, что у нас есть обычные функции пользователя, а также функции администратора, такие как изменение, удаление атрибутов организации и т. Д.

Предположим ,

Обычный пользователь пытается войти в систему, он будет перенаправлен на функциональность приложения с его маршрутизацией.

Но если пользователь-администратор пытается войти в приложение, у него должен быть выбор: функции администратора или обычные функции приложения.

Для этого я думаю о двух подходах:

  • Подход: создайте два отдельных проекта (один для функций приложения, а другой для функций администратора), чтобы администраторы могли иметь URL-адрес для обоих, и он мог получить доступ к любому из них по своему желанию.
  • Подход: задуматься о создании ролевой архитектуры с использованием средств защиты маршрутов только в одном приложении и активировать страницу функций администратора всякий раз, когда администратор войдет в систему.

Но путаница в отношении безопасности приложения. Может ли мой второй подход обеспечить безопасность, чтобы хакеры не могли взломать мои права администратора через эту страницу, поскольку она будет частью того же приложения? Какой подход будет более подходящим?

1
Adynh 14 Мар 2018 в 15:35

2 ответа

Лучший ответ

2 - лучший подход, но для управления маршрутами, а также условиями всего приложения требуется некоторая аутентификация и лучшие практики.

Поскольку это уменьшит время разработки, а также целостность, вы также легко сможете управлять веб-сайтом, но с большой сложностью.

Но поскольку большинство отраслей используют такие как Flipkart, Amazon, у них есть разные порталы для продавцов, администраторов и пользователей.

В панели администратора они включают вход на основе ролей, таких как учетная запись, менеджер, старший менеджер, поддержка клиентов, если это такая сложная архитектура, выберите 1-й вариант

1
Santosh Singh 14 Мар 2018 в 12:41

Я лично предпочел бы подход Seacond.

Преимущество использования фреймворков для создания приложений заключается в том, что вам не нужно беспокоиться о различных аспектах (включая безопасность), которыми вы должны управлять вручную при создании обычного веб-сайта с использованием различных библиотек.

User не может ввести admin panel - такой маленький аспект по сравнению со всеми аспектами, охватываемыми Angular. https://angular.io/guide/security

Они предоставили полное руководство и методы, такие как authGaurd, canResolve, которые вы можете использовать и сосредоточиться на разработке, не беспокоясь. Единственное, о чем стоит беспокоиться, - это ваше знание использования angular. ;)

1
Naman Kheterpal 14 Мар 2018 в 12:58