Запретить пользователю возвращаться на определенные маршруты с помощью охранников маршрута Angular - PullRequest
0 голосов
/ 19 сентября 2019

Мне интересно, есть ли способ запретить пользователям возвращаться к определенным маршрутам?

Теперь, в основном, моя проблема в том, что пользователь войдет в систему и пройдет по маршруту login/callback, который аутентифицирует пользователя и решаеткуда они идут, теперь, если пользователь нажимает на браузер и возвращается к тому маршруту, на котором он застрял, у меня есть больше примеров, но это самый простой для понимания

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

, теперь я знаю, что могу использовать canActivate() и настроить что-то вроде этого

export class PreventBackGuard implements CanActivate {

  constructor(public activatedRoute: ActivatedRoute, public router: Router)

  canActivate(): boolean {
    // do something here
    console.log(this.activatedRoute);
  }
}

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

1 Ответ

2 голосов
/ 19 сентября 2019

Зачем вам нужен предыдущий корень, если вы добавляете auth gaurd в свой корень и он возвращает false в методе canActivate, тогда он не позволит пользователю перейти к следующему корню, поэтому пользователь останется на той же странице, что и в случае вашей страницы входаНапример, ваш метод canActivate должен выглядеть следующим образом:

canActivate(): boolean {
     if(userLoggedIn){
         return false;
      }
    return true
  }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...