Angular redirect to login page

后端 未结 7 2246
盖世英雄少女心
盖世英雄少女心 2020-11-27 09:39

I come from the Asp.Net MVC world where users trying to access a page they are not authorized are automatically redirected to the login page.

I am trying to reproduc

7条回答
  •  不知归路
    2020-11-27 10:10

    Refer this code, auth.ts file

    import { CanActivate } from '@angular/router';
    import { Injectable } from '@angular/core';
    import {  } from 'angular-2-local-storage';
    import { Router } from '@angular/router';
    
    @Injectable()
    export class AuthGuard implements CanActivate {
    constructor(public localStorageService:LocalStorageService, private router: Router){}
    canActivate() {
    // Imaginary method that is supposed to validate an auth token
    // and return a boolean
    var logInStatus         =   this.localStorageService.get('logInStatus');
    if(logInStatus == 1){
        console.log('****** log in status 1*****')
        return true;
    }else{
        console.log('****** log in status not 1 *****')
        this.router.navigate(['/']);
        return false;
    }
    
    
    }
    
    }
    // *****And the app.routes.ts file is as follow ******//
          import {  Routes  } from '@angular/router';
          import {  HomePageComponent   } from './home-page/home- page.component';
          import {  WatchComponent  } from './watch/watch.component';
          import {  TeachersPageComponent   } from './teachers-page/teachers-page.component';
          import {  UserDashboardComponent  } from './user-dashboard/user- dashboard.component';
          import {  FormOneComponent    } from './form-one/form-one.component';
          import {  FormTwoComponent    } from './form-two/form-two.component';
          import {  AuthGuard   } from './authguard';
          import {  LoginDetailsComponent } from './login-details/login-details.component';
          import {  TransactionResolver } from './trans.resolver'
          export const routes:Routes    =   [
        { path:'',              component:HomePageComponent                                                 },
        { path:'watch',         component:WatchComponent                                                },
        { path:'teachers',      component:TeachersPageComponent                                         },
        { path:'dashboard',     component:UserDashboardComponent,       canActivate: [AuthGuard],   resolve: { dashboardData:TransactionResolver } },
        { path:'formone',       component:FormOneComponent,                 canActivate: [AuthGuard],   resolve: { dashboardData:TransactionResolver } },
        { path:'formtwo',       component:FormTwoComponent,                 canActivate: [AuthGuard],   resolve: { dashboardData:TransactionResolver } },
        { path:'login-details', component:LoginDetailsComponent,            canActivate: [AuthGuard]    },
    
    ]; 
    

提交回复
热议问题