canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { if (condition) { return true; } else { return this.router.createUrlTree(['/login']); } }
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): UrlTree { if (condition) { return true; } else { return this.router.parseUrl('/login'); } }
import { Injectable } from '@angular/core'; import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router, NavigationExtras } from '@angular/router'; import { AuthService } from './auth-service.service'; import { Observable } from 'rxjs/Observable';
@Injectable() export class AuthGuard implements CanActivate {
constructor(private authService: AuthService, private router: Router) {}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable
const navigationExtras: NavigationExtras = {
queryParams: { 'redirectUrl': state.url }
};
this.router.navigate(['/login'], navigationExtras);
return false;
} }