2016-09-06 6 views
0

지금부터 며칠 동안 인증 감시를 구현하려고했지만 아직 내 canActivate 기능을 실행할 수 없습니다. 내 인증 가드 (이 분명히 실제로 지키는되지 아무것도) 다음과 같습니다 가드를 가져오고 라우터가 보이는 구현로그인 가드가있는 각도 2 라우터

import { Injectable } from 'angular2/core'; 
import { Observable } from "rxjs/Rx"; 

@Injectable() 
export class LoggedInGuard implements CanActivate { 
    constructor() {} 

    canActivate():Observable<boolean>|boolean { 
    console.log('AuthGuard#canActivate called'); 
    return true; 
    } 
} 

그리고 내 응용 프로그램 구성 요소와 같은 :

import { Component } from 'angular2/core'; 
import { HTTP_PROVIDERS } from 'angular2/http'; 
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from 'angular2/router'; 
import 'rxjs/Rx'; // load the full rxjs 

import { CharacterListComponent } from './characters/character-list.component'; 
import { VehicleListComponent } from './vehicles/vehicle-list.component'; 


import { LoggedInGuard } from './login.guard.ts' 

@Component({ 
    selector: 'story-app', 
    templateUrl: 'app/app.component.html', 
    directives: [ROUTER_DIRECTIVES], 
    providers: [ 
    HTTP_PROVIDERS, 
    ROUTER_PROVIDERS, 
    LoggedInGuard 
    ] 
}) 
@RouteConfig([ 
    { path: '/characters', name: 'Characters', component: CharacterListComponent, useAsDefault: true }, 
    { path: '/vehicles', name: 'Vehicles', component: VehicleListComponent, canActivate: [LoggedInGuard] } 
    ]) 
export class AppComponent { } 

때마다 LoggedInGuardcanActivate 기능이 실행되면 로그 항목을 작성해야합니다. 링크를 탐색 할 때 로그 항목이 만들어지지 않습니다. 즉, 함수가 실행되지 않습니다. 플 런커가 액션 here에서 볼 수 있습니다.

어떤 통찰력을 크게 ...이, 당신의 응용 프로그램을 업그레이드하십시오 당신은 각도 2의 방법으로 이전 버전을 사용하는 각도 2.

+0

이 문제에 대한 해결책을 찾았습니까? – Sujithrao

+0

@Sujithrao Angular 2의 어떤 버전을 실행하고 있습니까? 거기 밖으로 톤의 릴리스가 있고 그들 중 많은 사람들을 위해 (블로그 게시물, 유튜브 비디오 및 SO 질문의 형태로) 문서를 찾을 수 있습니다. Angular 2.xx를 사용하고 있는지 확인하고 (릴리스 후보는 아님) 2016 년 9 월 15 일 이전에 예제를 구현하지 말고 [공식 공식 문서] (https://angular.io)를 사용해보십시오./docs/ts/latest /) – dslosky

답변

1

더 익숙한 사람에게 쉽게 하나가 될 것이라 확신합니다 주시면 감사하겠습니다 당신은 새로운 참조로 보일 수 있습니다

, 가능하면 RC6에

Routing & Navigation

또한 각 팀은 개념을 보여주는 Plunker를 만들었습니다. 인증 가드를 포함하여.

희망이 도움이됩니다!

+0

죄송합니다. 저는 2.0.0-beta.17을 로컬에서 사용하고 있습니다 (RC6이 맞는지는 확실합니다). 그리고 Plunker를 업데이트하여 동일한 작업을 수행했습니다. 또한 Plunker 예제를 단순화했으며이를 반영하도록 원래 질문을 업데이트합니다. 내 문제는 여전히 지속되며 더 많은 통찰력에 대해 매우 감사 할 것입니다. – dslosky

+0

아니요 [2.0.0-beta.17] (https://github.com/angular/angular/blob/master/CHANGELOG.md#200) -beta17-2016-04-28)이 길기 때문에 현재 버전은 RC6입니다. 설치 방법에 대한 답변에서 추가 한 Plunker를 확인하십시오. –

+0

오, 와우, 그 링크에 감사드립니다 ... 전 그 플 렁커와 함께 일했고, 그것은 매우 도움이됩니다! 내 프로젝트에서 Node와 npm을 사용할 수 없으므로 구현은 약간 달라야하지만 RC6으로 업그레이드하고 모든 것이 잘 진행되면 대답을 얻을 수 있습니다 :) – dslosky

관련 문제