2016-08-29 2 views
1

로그인 한 사용자 만 특정 사이트에 액세스하는 것을 허용하지 않습니다. 사용자가로드 중에 로그인했는지 확인하는 적절한 방법은 무엇입니까?Angularfire2 : 사용자가 로그인했는지 확인하는 적절한 방법?

아래의 코드는 내 첫 번째 시도이지만 실제로 작동하는지 실제로 알지 못합니다. 물론 나는 이미 db 규칙을 작성 했으므로 사용자에 대해 시각적으로 동작을 완성하려고합니다.

this.af.auth.subscribe(auth => { 
    if (auth) { 
     //route to other view 
    } else { 
     //do whatever 
    } 
}); 
+2

각도 2 라우팅 가드를 사용해야합니다. 그 위에,이 https://github.com/angular/angularfire2/issues/343에 대한 경계를 유지하십시오. –

답변

2

canActivate과 같은 각도 2 가드를 사용해야합니다. 그들은 라우팅이 일어나기 전에 당신이 검증을 할 수 있도록 도와 줄 수 있습니다. 이렇게하면 권한이없는 사용자의 탐색을 방지 할 수 있습니다.

앞서 말했듯이이 접근법이 효과적입니다. 당신이 인증 정보를 통해 변환을 원한다면. map, flatmap, concatMap과 같은 observables 메소드를 사용해야한다.