#9 - Закрытый доступ к страницам
Відеоурок
Для создания защищенных страниц на сайте необходимо использовать библиотеку . Чтобы добавить библиотеку в проект пропишите в терминале следующую команду:
npm install angular2-jwt --saveЭта библиотека предоставляет доступ к функции tokenNotExpired(). Функция возвращает значение true в случае если пользователь авторизован и false в противоположном случае.
Закрытые страницы
Для закрытых страниц используйте файл с расширением .guard.ts. В этом файле вам необходимо описать функцию CanActivate. Пример функции:
mport { Injectable } from '@angular/core';
import { Router, CanActivate } from '@angular/router';
import { AuthService } from './auth.service';
@Injectable()
export class IsLoggedIn implements CanActivate {
constructor(private authService: AuthService, private router: Router) {}
canActivate() {
if(this.authService.isLoggedIn())
return true;
else {
this.router.navigate(['reg']);
return false;
}
}
}В примере выше пользователь будет переадресовываться каждый раз на страницу регистрации в том случае, если он не авторизован на сайте.
После создания такого файла вам остается лишь в файле app.module прописать для каких страниц доступ будет закрыт:
import { IsLoggedIn } from './isLogged.guard';
const appRoute: Routes = [
{path: 'dashboard', component: DashboardComponent, canActivate: [IsLoggedIn]},
];Матеріали для курсу
Щоб завантажувати матеріали до відеокурсів, необхідно оформити підписку на сайт
Завдання до уроку
Необхідно оформити передплату на проект, щоб отримати доступ до всіх домашніх завдань
Велике завдання за курсом
Вам необхідно оформити передплату на сайті, щоб мати доступ до всіх великих завдань. У завдання входить методика рішення, а також готовий проект з відповіддю до завдання.
PS: подібні завдання доступні при підписці від 1 місяця
Також варто подивитися