Angular desde cero | 2.6 - Cómo proteger rutas
Dario Alvarado@darioanvarado
Para aquellos en los que en el minuto 8:30 les está generando una función en vez de una clase les explico. Después de investigar me di cuenta de que el comando guard fue depreciada a partir de la versión 15 (creo). https://angular.io/api/router/CanActivate
El código que tienes que hacer es el siguiente en tu archivo validate-session.guard.ts:
import { Inject, Injectable, inject } from [@ [@'@angular](https://ed.team/u/'@angular)](https://ed.team/u/'@angular)/core';
import { CanActivateFn } from '@angular/router';
[@
@Injectable](https://ed.team/u/
@Injectable)()
export class ValidateSessionService {
private cookie: string | null = null;
canActivate(): boolean {
return this.checkCookie();
}
private checkCookie(): boolean {
console.log('fino fino', this.cookie);
return (this.cookie !== null)
// if (this.cookie != null) {
// return true;
// } else {
// return false;
// }
// return true;
}
}
export const validateSessionGuard: CanActivateFn = (route, state) => {
return inject(ValidateSessionService).canActivate();
};
Además, por estar haciendo el inject(ValidateSessionService), tienes que añadir en tu archivo app.module.ts dentro de NgModule, dentro de providers lo siguiente:
providers: [
ValidateSessionService
]
Añadí unas capturas de pantalla para que puedan ver mejor el código


Escribe una respuesta