import { Injectable } from '@angular/core'; import { ModuleWithProviders } from '@angular/core'; import { Http, Headers, Response } from '@angular/http'; import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { Observable } from 'rxjs/Observable'; //Service import { UserService } from './services/user.service'; @Injectable() export class AuthGuard implements CanActivate{ constructor(private http: Http, private router: Router, private userService: UserService){} canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean{ if(this.userService.hasAuthentication()) return true; else{ this.router.navigate(['user/signin']); return false; } } }