Angular - загрузить приложение с общего URL - PullRequest
0 голосов
/ 12 июля 2020

Народ,

У меня есть приложение Angular 9, в котором реализован набор представлений для определенных c функций. У него есть вложенная структура для представлений, например,

A (страница списка) -> B (страница списка при щелчке элемента в списке A) -> C (страница сведений при нажатии элемент из списка B)

C имеет несколько вложенных представлений, каждое из которых имеет связанный с ним маршрут.

Мое требование здесь - поделиться URL-адресом приложения ( скажем, когда пользователь находится в дополнительном представлении C) кому-то, и если этот пользователь уже вошел в систему, он / она должен быть переведен на конкретную страницу.

В настоящее время мы не сохраняем ни одну из идентификаторы (id) в URL-адресе, вместо этого мы храним его в sessionstorage. Поэтому, когда пользователь обновляет URL-адрес, мы можем восстановить состояние приложения без каких-либо проблем.

Здесь пара вопросов:

  1. Можно ли сохранять идентификаторы каждый маршрут в URL-адресе браузера, например (a / 2 / b / 3) или какие-либо последствия для безопасности с этим подходом?

  2. Как мы обычно обрабатываем идентификаторы, если у нас есть глубоко вложенная структура например (a / 1 / b / 2 / c / 3 / d / 4 ...)?

  3. Можно ли загрузить приложение с URL-адресом, если мы не сохраняем идентификаторы как часть URL-адреса?

  4. Как в основном мы реализуем этот тип разделяемого URL-адреса в Angular приложении?

Любая помощь / мысли за это очень признателен.

Спасибо

1 Ответ

0 голосов
/ 17 июля 2020

Вы никогда не захотите помещать в маршрут какую-либо конфиденциальную информацию, например номер счета. Любая информация, которую вы можете передать по маршруту, должна быть проверена вашим api, чтобы люди не могли получить доступ к информации, к которой они не должны иметь доступа. Вы можете вкладывать маршруты настолько глубоко, насколько хотите, каждый маршрут может отложить загрузку других модулей маршрутизации. Прочтите о маршрутизаторе Angular, он очень хорошо документирован по адресу angular .io

https://angular.io/guide/router

...