2017-06-12 21 views
-2

"私は2つのコンポーネントを持っています:1.register 2.login。 私はレジスタコンポーネントにすべてのユーザー情報を保存するローカルストレージを持っています。私はログインから登録ユーザーを認証する必要があります私はどのようにit.iを行う角度2に取り組んでいるログインコンポーネントから、ローカルコンポーネントにローカルストレージにすべてのユーザーを保存私は、ユーザーがローカルストレージに格納されているかどうかを確認する必要がありますホームコンポーネントにナビゲートします。ローカルストレージとの角度2認証

答えて

0

Angular2あなたは

export const routes: Routes = [{ 
    path: 'login', 
    loadChildren: 'app/pages/login/login.module#LoginModule' 
}, { 
    path: 'authorize', 
    loadChildren: 'app/pages/authorize/authorize.module#AuthorizeModule', 
    canActivate: [LoginGuard] 
}]; 

login.guard.tsをされたいCanActivate

routing.ts何

Route Guardを提供

@Injectable() 
export class LoginGuard implements CanActivate { 

    constructor(
    private router: Router, 
    private authService: AuthService 
) { } 

    canActivate(
    next: ActivatedRouteSnapshot, 
    state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean { 
    if (this.authService.isLoggedIn()) { 
     return true; 
    } else { 
     this.router.navigateByUrl('/login'); 
     return false; 
    } 
    } 
}