componente de carga baseado em logado status do usuário, sem alterar url

votos
1

Estou usando Angular. Na minha AppComponent, eu gostaria de exibir uma página de login, se o usuário não está conectado.

Eu tenho um serviço de autenticação

export class AuthenticationService {

    constructor() {}

    logout() {
        // logs out user
    }

    login(user) {
        //logs in user           

    }

    checkCredentials() {
        //checks if logged in 
    }
}  

app.component.ts

import { NgModule, Component } from '@angular/core';
// import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

@NgModule({

})
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app';

}

login.component

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

}

O que posso fazer em app.component para a página principal para carregar o LoginComponentse o usuário não está logado ou DashboardComponentse o usuário está logado, sem encaminhamento para diferentes urls?

Publicado 09/01/2018 em 02:55
usuário
Em outras línguas...                            


1 respostas

votos
0

Você pode armazenar seu token em localStorage e com base na data de expiração desse símbolo é possível verificar a validade do token e com base em que você pode redirecionar para Loginpage OR página Painel, você pode verificar a lógica validade na Guarda.

Se você quiser exemplo completo, consulte este link: http://jasonwatmore.com/post/2016/09/29/angular-2-user-registration-and-login-example-tutorial

e há auth.guard.ts está fazendo exatamente o que você precisa

Respondeu 09/01/2018 em 03:11
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more