2016-05-09 37 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