I think canActivate and Activate router lifecycle methods are the official 
way
https://github.com/angular/router/issues/100

On Tuesday, January 5, 2016 at 12:20:12 AM UTC+1, Mark Rathwell wrote:
>
> Looks like I missed the obvious on this one.  You can just subscribe to 
> route transitions and do the authentication checks and redirections there.  
> Subscribing in the top-level component constructor works as expected for me:
>
> this.router.subscribe((nextValue) => {
>
>     if (nextValue !== 'login' && nextValue !== 'register' && 
> !this.sessionService.accessToken()) {
>
>         this.sessionService.data['urlRedirectAfterLogin'] = nextValue;
>
>         this.router.navigate(['/Login']);
>
>     }
>
> });
>
> On Mon, Jan 4, 2016 at 12:10 AM, Mark Rathwell <[email protected] 
> <javascript:>> wrote:
>
>> I'm interested in this also.  I have spent most of the day trying to make 
>> something work by overriding the router-outlet, but have only come up with 
>> dirty hacks that sort of work.  
>>
>> There is literally zero information out there on authentication with 
>> Angular 2 that is still current and valid.  It is such a standard and 
>> critical thing, I must be missing something.  
>>
>> On Tue, Dec 29, 2015 at 5:17 AM, Martin Wawrusch <[email protected] 
>> <javascript:>> wrote:
>>
>>> Hi guys, I am trying to set up routing with authentication properly. 
>>>
>>> So far I am using the router's canActivate decorator to determine if 
>>> that component can be shown or not. The question is: where do I put the 
>>> redirect to a login page? Doing a hard redirect with window.location within 
>>> the canActivate check seems to be wrong). Should I override the 
>>> router-outlet instead, and if so, how?
>>>
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "AngularJS" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> Visit this group at https://groups.google.com/group/angular.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to