2016-05-09 116 views
1

我刚刚为我的角度2应用程序启动并运行了身份验证,但现在正尝试升级到新的路由器,删除了不推荐使用的路由器。问题是我的策略不再有效。为新路由器(> = rc1)设置认证Angular 2

在旧的路由器中,我扩展了router-outlet以检查URL是否能够激活。如果不是,我只是重定向到我的登录页面。

然而,在新的路由器中,路由器插座不再存在。什么是新的最佳策略?

+0

的'RouterOutlet'仍然存在https://github.com/angular/angular/blob/b30ddfbfc5192f526ceaac525cf6965635831c46/modules/%40angular/router/src/directives/router_outlet.ts#L32 –

+0

我想这就是你想要的https:// github。 com/angular/angular/issues/8562 –

+0

啊,是的,这就是我错过的... – hY8vVpf3tyR57Xib

回答

1

一种选择是订阅路由器,以评估在用户是否登录每当路由发生变化,所以这样的事情在你的AppComponent:

constructor (private _router: Router) {} 

ngOnInit(){ 
    this._router.subscribe(
    next => { 
     if (!userIsLoggedInOrWhatever) { 
     this._router.navigate(['Login']); 
     } 
    } 
)  
} 

https://angular.io/api/router/Router