import { Injectable } from "@angular/core";
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from "@angular/router";
import { Observable } from "rxjs";
import { LoginService } from "./login.service";
@Injectable()
export class LoginGuardian implements CanActivate {
constructor(private loginService:LoginService, private router:Router) {
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (this.loginService.estaLogueado()) {
return true;
}
else {
this.router.navigate(['login']);
return false;
}
}
}
En el src\app\app.module.ts registrarlo:
providers: [...,LoginGuardian]
Y ya tb en src\app\app.module.ts específicar a qué ruta queremos aplicarlos:
{path:'contacto', component:ContactoComponentComponent, canActivate:[LoginGuardian]},

No hay comentarios:
Publicar un comentario