Bem vindo de volta.
Neste vídeo, vamos nos concentrar em obter a barra NAF para exibir os links corretamente, de modo que
quando você não estiver conectado, você só verá logar e se inscrever.
Mas quando você está logado, você vê apenas sair e, em seguida, também podemos exibir uma pequena mensagem que
diz que iniciou sessão como.
E, em seguida, o nome de usuário assinado em vários assinados no resto coma o que quer que seja.
final da peça para o vídeo e eu comecei a movê-lo para um vídeo separado para que eles pudessem
passar um pouco mais de tempo em detalhes e explicando como isso funciona.
Inicialmente, teve tudo isso no
Então vamos começar.
E o que eu vou fazer é abrir Hetter.
Sim.
E aqui estão as três linhas que são responsáveis ​​por esses três links aqui.
Faça login e faça o login para esconder e mostrar adequadamente.
Precisamos adicionar um simples E. J. lógica esquecida.
Teremos uma declaração if que se parece com algo assim.
Este é apenas um pseudo código.
Mas se nenhum usuário mostrará log in e registre-se e, em seguida, mostrará o link de logout.
Agora, claro, isso não é javascript real.
Teremos que trabalhar com isso.
Mas o que faremos é passar uma variável tal como fizemos aqui onde estamos passando no acampamento ou estamos fazendo
isso a tempo aqui repassando acampamento de novo, exceto que vamos passar um objeto de usuário
e esse usuário irá contém informações sobre o usuário conectado ou se não há usuários registrados.
Ele estará vazio indefinido e podemos usar essa variável de usuário em vez de nosso modelo.
Então, se é indefinido.
Verificaremos se o usuário está indefinido.
Mostre estes de outra forma, mostre o log no link.
Então, comece por descobrir como podemos obter esses dados sobre o usuário.
E vou começar em uma dessas rotas e vou fazer a página de índice de acampamento que está aqui depois de
ter acampamentos de barracão porque é uma rota simples e muito do nosso código redireciona para
esta rota.
E o segredo para tudo isso, a parte importante é solicitar um usuário direto.
Então solicite que o usuário contenha todas as informações.
Bem, não tudo isso, mas o nome do usuário e o ID do usuário conectado no momento.
Então eu vou te mostrar.
Vamos apenas fazer um cancelamento de pedidos de log no usuário e iniciar o servidor e depois vou atualizar.
E ficamos indefinidos.
E é por isso que não há usuários registrados no momento.
Então solicite que os usuários vazem.
Não existe.
Mas, uma vez que eu logar o que o passaporte fará é criar solicitações de que o usuário insira os dados do usuário apenas o nome de
usuário e o ID, não a senha ou qualquer coisa, exceto o nome de usuário e a ID dentro do usuário do pedido.
Então, faça um login na senha do Severus clique em logon Vamos para o olhar, você pode ver que agora é o pedido desse usuário.
Vai ser realmente útil para nós em nossos modelos.
Então eu vou passar por isso agora.
Se livrar disso.
E então, depois de acampamentos, teremos apenas uma outra variável Akol usuário atual que é igual
ao usuário pedido.
E então, no nosso modelo, podemos escrever uma lógica simples que verifica se existe um usuário atual.
E então, em nosso modelo, podemos adicionar uma lógica muito simples usando a variável de usuário atual.
Então, vamos salvar e vamos indexar isso.
Sim.
Qual é o índice de campgrounds e apenas no topo.
Vamos apenas adicionar um pouco H para isso, apenas imprimir o usuário atual e vamos reiniciar o servidor.
E se eu for agora, não vemos nada, mas, se eu entrar várias vezes, eu vejo o usuário
atual.
Então, estamos passando esses dados através do nosso modelo, mas ao invés de usá-lo em vez desse modelo
de índice, nós realmente queremos usá-lo dentro do modelo de barra de navegação, o cabeçalho.
E lembre-se de que temos acesso a qualquer uma das variáveis ​​que passamos através do nosso modelo.
Mesmo dentro da Parshall's.
Então, dentro de cada um de nós, vamos adicionar uma afirmação if e isso parece ser assim.
Se não houver nenhum usuário atual, poderíamos fazer isso, então exibamos esses dois links e então teremos o nosso mais exibir o
link
de logout e, é claro, precisamos das nossas tags Ejaz.
Então, vamos fazer isso sem sinais iguais assim.
E estamos
quase concluídos para verificar se uma variável de usuário atual está vazia, então vamos mostrar isso.
Caso contrário, mostraremos o link de logout.
Mas isso só funcionará agora, pelo menos, nessa rota, acalma acampamentos, porque não passamos o
usuário atual em outras rotas.
Mas vamos apenas ter certeza de que ele funciona.
Então, vou reiniciar o aplicativo se eu atualizar a página.
Ótimo.
Eu só vejo logon e inscreva-se e é por isso que não estou logado.
Agora, se eu clicar no logon, teremos um problema que é que temos o arquivo de cabeçalho e está tentando
usar o usuário atual, mas nós não passamos o usuário atual.
Então, na verdade, isso acontecerá em qualquer rota que tenha agora a Ackbar porque não
estamos passando o usuário atual, exceto no Slash Capgras.
Então, o que queremos fazer é passar o usuário atual basicamente nesta linha aqui em cada rota.
alguns deles pode estar vazio, alguns deles terão dados do usuário, mas queremos que estejam disponíveis em todas as rotas.
E em
E há uma maneira fácil de fazer isso onde não temos que adicionar manualmente a
cada rota e subir de cima antes de nossas rotas apenas para adicionar em outra atualização usar depois de usar e adicionaremos nosso próprio middleware pequeno.
Seja qual for a função que fornecemos, será chamado em todas as rotas.
Então, vamos dar uma resposta de solicitação de função e também precisamos da próxima variável.
E o que queremos fazer é passar esse pedido no usuário para cada modelo e há uma maneira fácil
de fazer isso.
Sake rez locais.
O Usuário atual do usuário atual o que colocamos em repouso no local é o que está disponível em vez do nosso
modelo e, em seguida, o outro importante é que você precisa passar para o próximo código atual porque este
é um middleware que será executado para cada rota.
Se não tivermos este próximo, ele simplesmente irá parar.
Nada acontecerá depois, então precisamos ter o próximo para avançar para o próximo middleware que na
verdade será o manipulador de rotas na maioria dos casos.
Então, agora, se tentarmos, reinicie o servidor, atualize a página.
Isso deve funcionar bem.
Se eu vou fazer login, agora tenho o formulário de login e não recebo um erro.
E vejo os links corretos porque não estou logado.
Agora, se eu entrar como sÃ¨vres
novamente, eu só vejo log out great e tente clicar em sair.
Impressionante.
Então está funcionando.
A última coisa que eu queria fazer é que, quando você entrar, vamos fazer isso mais uma vez.
Você quer ver aqui em vez de entrar e se inscrever.
Você quer ver atualmente conectado como Zephyrus e isso é muito fácil de fazer.
Em vez de nossa cabeça cada.
Sim, já temos usuários atuais, então, se houver um usuário atual neste outro, só vamos
adicionar outro aliado e que Ally apenas adicionará o texto.
Vamos fazer o login como.
E então, simplesmente interpretamos ou adicionamos com cada um como tags.
Usuário atual dot username e salvar reiniciar e vamos ver como isto parece.
Podemos precisar fazer um estilo de atualização um pouco.
Vamos mentir de novo.
Assinado como Severus.
E sim nós queremos estilo disso.
Então, vamos fazer uma marca de âncora como as outras e não vamos dar uma referência H para que você possa obter a
etiqueta de dedo Atra é igual ao sinal da libra.
Pode ter sentido que este seja realmente um link para a página de perfil, porém, o que não temos.
Mas se tivéssemos páginas de perfil, você poderia clicar nisso e isso levaria você ao seu perfil, mas isso é
bom por enquanto.
Então, vai sair do que deve sair.
Vamos tentar registrar e ver como isso funciona.
Então eu vou me inscrever como a Sra. Purple e a senha será púrpura.
Inscreva-se e entre em contato com a Sra. Purple e podemos sair e vamos verificar tudo.
Que, se eu tentar e adicionar um novo comentário, tenho acesso a ele, mas se eu sair e eu tento fazer isso, não posso.
Ele me pediu para fazer login primeiro.
OK, então, estamos oficialmente terminados com os conceitos básicos de adicionar autenticação a Joachim.
Vamos dar um momento para rever as coisas novas que vimos nesta lição.
Em particular, usando o pedido, o usuário que definimos aqui solicita que o usuário esteja vazio se não houver nenhum login ou conterá o nome de usuário
no ID do usuário atual, então estamos usando um uso posterior que chamará esta função em cada
envoltório único, por isso é uma boa maneira de secar ou codificar onde não precisamos ir e fazer isso em todas
as rotas e podemos realmente nos livrar dele agora porque estamos passando usando ou depois de 8
anos e depois O outro é que, no nosso modelo, estamos escrevendo apenas uma declaração IF simples e
combinando essa lógica com cada T. M. pode ser realmente poderoso.
Podemos mostrar e ocultar esses botões.
Podemos mostrar quem está logado no momento.
Coisas realmente importantes.
Ok, então foi um pouco de uma maratona definitivamente.
Cinco seções diferentes, mas conseguimos que funcionasse.
Criamos os modelos de usuários primeiro.
Criamos os formulários de inscrição e os roteiros e, em seguida, efetue o login e, em seguida, o fim de sessão
e, finalmente, trabalhamos na barra de navegação e mostrando e escondendo links e exibindo o usuário atualmente conectado.
Tudo bem, vou te ver na próxima unidade