
#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 месяца
Также стоит посмотреть