Безопасные ссылки при использовании пользовательского интерфейса маршрутизатора Angular Js

0

Я экспериментировал с UI-ROUTER в течение довольно долгого времени, когда обнаружил, что мне удалось перенаправить на нужную страницу, если я вручную вставил конечную точку (url) в адресную строку.

См. Пример здесь: UI ROUTER BASIC DEMO

Здесь, в приведенном выше примере, есть два элемента в строке меню, т.е. " Contacts и " About. При щелчке по каждому элементу состояние изменяется, а также URL-адрес в адресной строке.

Что делать, если я заранее знал URL-адрес и вручную добавил эту конечную точку URL-адреса в адресной строке, он будет перенаправлен, как и ожидалось. Я хотел бы отключить эту функцию. Кто-нибудь сталкивался с подобной проблемой. Попробуйте поделиться подобным опытом.

Теги:
angular-ui-router
state

1 ответ

0
Лучший ответ

Вы можете использовать скрытый (squash) параметр url:

.state("myRoute", {
    url: "/myRoute",
    templateUrl: "...",
    controller: "...",
    params: {
        token: {value: undefined, squash: true}
    },
})

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

  • 0
    Вы имеете в виду генерировать токен из бэкэнда?
  • 0
    где вы генерируете токен, зависит от конфигурации вашего клиента / сервера, лучше от бэкэнд-сервиса, но если только проверить URL, вы можете сгенерировать его на сервисе angular
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню