“Nenhum provedor para AuthGuard!” Usando CanActivate no Angular 2

EDIT: Obviamente, isso está desatualizado, agora você fornece sua guarda noproviders matriz em um NgModule. Assista a outras respostas ou documentação oficial para obter mais informações.

a inicialização de um componente está desatualizadaprovideRouter() está desatualizado também

Estou tentando configurar a autenticação no meu projeto, usando um login e AuthGuard no guia Angular2:https://angular.io/docs/ts/latest/guide/router.html

Estou usando o release: "@ angular / router": "3.0.0-beta.1".

Vou tentar explicar o máximo possível, fique à vontade para me dizer se precisar de mais detalhes.

eu tenho meumain.ts arquivo que inicia o aplicativo com o seguinte código:

bootstrap(MasterComponent, [
    APP_ROUTER_PROVIDERS,
    MenuService
])
.catch(err => console.error(err));

Carrego o MasterComponent, que carrega um cabeçalho que contém botões que permitem navegar pelo meu aplicativo e que também contém o principal por enquanto.

Estou seguindo o guia para fazer meu aplicativo funcionar da mesma maneira, com os seguintesapp.routes.ts :

export const routes: RouterConfig = [
    ...LoginRoutes,
    ...MasterRoutes
];

export const APP_ROUTER_PROVIDERS = [
    provideRouter(routes),
    AUTH_PROVIDERS
];

E alogin.routes.ts do guia, que define meu AuthGuard:

export const LoginRoutes = [
    { path: 'login', component: LoginComponent }
];

export const AUTH_PROVIDERS = [AuthGuard, AuthService];

meu componente mestre tem sua própria definição de rota, que também contém a proteção que estou tentando configurar.master.routes.ts :

export const MasterRoutes : RouterConfig = [
    { path: '', redirectTo: '/accueil', pathMatch: 'full' },

    {
        path: 'accueil',
        component: AccueilComponent
    },

    { path: 'dashboard', component: DashboardComponent, canActivate: [AuthGuard] },
];

E eu estou usando os mesmos arquivos do guia, que sãoauth.guard.ts, auth.service.ts, login.component.ts elogin.routes.ts.

No meuheader.component.ts arquivo, quando tento acessar qualquer rota, está funcionando bem, mas quando tento acessar o caminho protegido (/ dashboard), recebo oNenhum provedor para AuthGuard! erro.

Vi o post recente com o mesmo problema que o meu (NoProviderError usando CanActivate no Angular 2), mas para mim o guarda é inicializado corretamente até omain.ts para que meu roteador saiba quais rotas devem ser fornecidas com o AuthGuard, certo?

Qualquer ajuda ou conselho seria muito apreciada. Obrigado !

questionAnswers(11)

yourAnswerToTheQuestion