Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Angular]route.url != route de déstination

Sujet résolu
    9 août 2020 à 17:08:58

    Bonjour.

    Je suis en train de gérer les authguard.

    Quand je suis sur la page d'accueil "login" je me connecte et suis redirigé ver "". Quand je suis connecté et donc sur "" je peux faire précédent et atterrir sur la page login.

    Je voudrai faire:

    if(this.memberService.getAuth() && this.route.url != login) {
      return true;
    }else if (this.memberService.getAuth() && this.route.url == login) ){
      this.router.navigate(['']);
    }
    }else{
      this.router.navigate(['login']);
    }

    malheuresement route.url n'est pas la route de déstination mais la route de predestination.

    Edit :

      canActivate(route: ActivatedRouteSnapshot,state: RouterStateSnapshot):Observable<boolean> | Promise<boolean> | boolean {
      alert(state.url);

    state.url affichera l'adresse de déstination.

        if(this.memberService.getAuth()==true && state.url == "/login") {
          this.router.navigate(['']);
        }else if (this.memberService.getAuth()==true && state.url != "/login"){
          return true;
        }else if (state.url == "/login"){
          return true;
        }else{
          this.router.navigate(['login']);
        }

    Résolu


    -
    Edité par -Crixus- 9 août 2020 à 17:36:25

    • Partager sur Facebook
    • Partager sur Twitter

    "Etre vrai, peu le peuvent."
    Friedrich Nietzsche

    [Angular]route.url != route de déstination

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown