응용 프로그램의 특정 경로를 보호하기 위해 보호 기능을 사용할 수 있습니다. 가드에는 비동기 작업을 수행하고 사용자가 경로를 탐색 할 수 있는지 여부를 결정할 수있는 CanActivate 메소드가 있습니다.
구현에 대한 자세한 내용은 here 및 here입니다.
주요 아이디어는 아이들에게 모든 저장된 쿠키와 사용자 정보를 검색하고 사용자가 로그인되어 있는지 확인합니다 'AuthGuard'에 의해 보호하면 응용 프로그램에 대한 경로를 만드는 것입니다.
또한
당신이 코드를 참조 할 수 있습니다 아래 : 여기
import { Injectable } from '@angular/core';
import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router, private userDataService: UserDataService) {}
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
return Observable.fromPromise(this.userDataService.isUserAuthenticated()).map((isUserAuthenticated: boolean) => {
return true;
}).catch(error => {
this.router.navigate(['/login']);
return Observable.of(false);
});
};
}
isUserAuthenticated 방법은 우리가 사용자 정보와 서버의 응답을 받았을 때 거절 해결 될 것입니다 약속을/반환
https://auth0.com/blog/creating-your - 첫 번째 - 실제 - 각도 - 2-a pp-from-authentication-to-api-and-everything-in-between/ – ArtemKh