src/services/can-activate-guard.service.ts
Properties |
|
Methods |
|
constructor(router: Router, userService: UserService)
|
||||||||||||
Defined in src/services/can-activate-guard.service.ts:7
|
||||||||||||
Parameters :
|
Public canActivate |
canActivate()
|
Returns :
boolean
|
Private connected |
connected:
|
Default value : false
|
Defined in src/services/can-activate-guard.service.ts:7
|
import { Injectable } from '@angular/core';
import { CanActivate, Router } from '@angular/router';
import { UserService } from './user.service';
@Injectable()
export class CanActivateGuard implements CanActivate {
private connected = false;
constructor(
private router: Router,
private userService: UserService
) {
this.userService.getCurrent().subscribe((user) => {
this.connected = user.connected;
});
}
public canActivate() {
// test here if you user is logged
if ( !this.connected ) {
this.router.navigate( [ 'login' ] );
}
return this.connected;
}
}