Bem vindo de volta.
Neste vídeo, iremos adicionar autorização às rotas de comentários que acabamos de adicionar, então edite a atualização
e destrua a única para usar ou para realmente editar ou atualizar algo se esse usuário possuir
o comentário, assim como fizemos para campgrounds.
Conseguiremos isso com basicamente o mesmo código em que temos um middleware que pensamos que chamamos nossa verificação de propriedade do
acampamento, mas o nosso será chamado de verificar a posse do comentário e, em seguida, também queremos garantir que escondamos
e mostre esses botões para que não possamos " t mostrar ao usuário um botão de exclusão que eles realmente
não podem clicar.
Eles não têm permissão para excluir esse comentário.
O que também é basicamente o mesmo código que usamos para comentários ou para campgrounds.
E, finalmente, e esta é a única coisa que é realmente nova é que eu queremos que refactem nosso middleware.
Então, basta simplesmente mover todo o nosso middleware para um novo arquivo e exigir que o arquivo comece assegurando que
um usuário não possa chegar à rota de edição se ele ou ela não possui esse comentário.
Então, vamos para a rota em vez de nossos comentários aqui.
E vamos para Editar.
Queremos um middleware aqui que fará a verificação para nós.
Então, verifique a propriedade dos comentários, como fizemos no último vídeo ou no último vídeo do acampamento, onde fizemos
verificar a propriedade do acampamento e, se dar uma olhada nesse código, simplesmente copiará
tudo.
É meio longo colocá-lo no fundo com o nosso outro meio em que mudamos esse nome, verifique a propriedade
dos comentários.
A primeira coisa que fazemos é verificar se o usuário está logado é qualquer usuário logado.
Se não apenas redirecioná-los de volta e mostrará uma mensagem eventualmente que diz, assine ou você precisa estar assinado
para fazer isso.
E isso é um erro diferente do que você não é o proprietário correto.
Então, não queremos dizer que você não tem permissão para fazer isso.
Sempre queremos dizer o início de sessão primeiro e, em seguida, se você entrar e você ainda não possui, então
enviaremos uma mensagem diferente.
Por enquanto, não importa porque não temos essas mensagens.
Então, se você estiver conectado, precisamos encontrar o comentário comentado bem até sexta-feira.
Não é pedido até a solicitação de identificação do tramstop para os comentários do tramstop. Id, altere isso para ser encontrado.
Se houver um erro, redirecione novamente o que está bem.
Além disso, vamos mudar seu comentário para torná-lo um pouco mais claro.
E eu continuo dizendo comentar.
Eu quero dizer mudar o comentário javascript não o modelo de comentário real.
Então, precisamos verificar se o autor do comentário encontrado que a ID é igual a solicitação de identificação do usuário.
Então vamos dar uma olhada no modelo para comentar.
Lembre-se de que temos um autor e esse autor tem uma identificação e é um mangusto I. D. Portanto, não podemos fazer iguais
triplos como no acampamento.
comparando com o ID do usuário logado que é armazenado dentro do pedido que o usuário agradece ao passaporte.
Então, se encontrado, o ponto de identificação do autor é igual a esse método especial que estamos
Então, se for esse o caso, tudo é bom, o que significa que podemos seguir em frente e executar o manipulador de rotas em seguida.
Caso contrário, redirecione de volta e de novo o motivo pelo qual eu separei tudo isso, mesmo que seja redistribuído redirecionar três vezes
diferentes para que possamos especificar uma mensagem de erro diferente quando chegarmos a isso em apenas alguns
vídeos a partir de agora.
Então, vamos agora garantir que tudo o resto seja bom.
Verifique a propriedade comum.
Nós temos isso aqui.
Precisamos ir para editar a rota.
Nós adicionamos isso em questão de comentários de cheques.
Ótimo, vamos dar uma chance e ver o que acontece.
Boa.
Então todos deveriam chegar aqui.
Eu não estou logado agora mesmo, se eu clicar nisso me leva de volta aqui.
Perfeito.
Agora, se eu logar como Sirius Black que criou esse comentário e eu tentei isso novamente, agora ele funciona.
Vamos apenas adicionar algumas coisas experientes aqui.
Agora, isso não está protegido porque essa é a rota de atualização.
Então, na verdade, simplesmente fazemos exatamente o mesmo, e é por isso que é tão
bom que mudamos isso para uma função separada porque poderíamos ter todo esse código aqui e depois duplicá-lo para
atualização também.
Bem aqui.
E para destruir.
Mas vamos deixar isso por enquanto.
Certifique-se de que funciona.
Então, teoricamente, eu poderia, de alguma forma, acabar enviando uma solicitação de atualização do carteiro ou algo parecido
com algum outro aplicativo.
No entanto, você sabe que um usuário faria o que seria muito raro, mas, teoricamente, alguém
poderia fazer isso.
E sem adicionar a propriedade do comentário de verificação para atualizar, não seria protegido.
Mas não vamos notar nada diferente aqui se eu tentar.
O mesmo problema se eu voltar a entrar e você pode ignorar isso se você realmente não se importar em vê-lo.
Não é a parte mais excitante deste curso me observando entrar agora se eu editar a atualização funcionar bem.
E se eu tivesse se afastado nesse ponto ou se meus dados estivessem errados ou algo
estranho acontecesse, eu me reenviaria e, eventualmente, mostraria uma mensagem.
OK, então é uma atualização agora se eu clicar em excluir.
Quando não estou
logado, posso excluir esse comentário que, obviamente, não é o que queremos acontecer, então vamos corrigir isso.
Vamos para uma página que tenha comentários.
Este não tem um.
Deixe-me adicionar um comentário mais uma vez, não o mais emocionante.
Ah, e digitei um comentário na senha incorretamente.
Oh céus.
Vamos tentar isso mais uma vez.
ESTÁ BEM.
Vamos para Rocky Mountain alta.
Adicione um comentário para mim.
ESTÁ BEM.
Então eu não quero que um usuário seja capaz de excluir isso, a menos que esteja logado.
É exatamente o mesmo.
Excelente para nós.
Basta encontrar a rota de destruição adicionar ou meio Waren e é tudo o que precisamos.
Então, se tentarmos, mostrei-lhe que, atualmente, fizemos essa mudança.
Qualquer pessoa pode excluir.
Agora, se eu atualizar, não estou logado. Cliquei para excluir e ainda está lá.
Recusa-se a excluir.
Grande último grande passo é mostrar e ocultar esses botões de forma adequada.
Então, deixe-me entrar ou se inscrever como outra pessoa.
Vamos assinar como Dumble de porta em porta.
A senha também é senha.
Inscrever-se.
Vamos também adicionar comentários.
Agora, dois comentários diferentes são dois autores diferentes.
Se eu tiver feito o login nesta porta dupla, eu só quero ver os botões de exclusão aqui.
Estes devem estar escondidos para mim, para fazer isso.
Dê uma olhada em como ele fez na página de exibição para apagar e editar os botões do acampamento.
O que está certo aqui.
Esta linha única, se o usuário atual e os dados do autor do acampamento forem iguais à ID do usuário
atual, então mostramos isso muito similar, exceto por algumas mudanças.
Primeiro do que é que não é um acampamento no autor dot.
É autor de comentários e isso está definido aqui em nosso foreach.
cada campground, clique em ordem, os comentários exibem o autor, exiba o texto e depois verifique se há um usuário atual.
Então, seja qual for o caso, em cada caso, para
E se a ID do usuário atual estiver aqui armazenada.
Há muitas peças móveis aqui, mas vou rever isso brevemente.
Isso vem daquela linha que nós adicionamos a Abdoulaye nos acima do topo que adicionam.
Onde você está aqui.
Usuário atual para cada um de nossos modelos.
O Usuário atual é igual ao usuário da solicitação e solicita aos usuários provenientes do passaporte.
Ele tem as informações do usuário para o usuário atual.
Se houver um que devemos fazer, verifique se há um, porque se não possuímos esta primeira parte e tudo
o que temos é que, se não houver usuário atual, nos dará um erro dizendo que o usuário atual está indefinido.
OK, tão comum que criou esse ID.
A última coisa que precisamos é adicionar em nosso suporte de fechamento ou uma cinta curly para a afirmação if.
Sem sinal de igualdade.
Então, isso é tudo incluído nessa declaração if.
Vamos dar uma chance para começar.
Se eu estivesse fresco, ele vai me conectar e esperamos não ver nenhum botão.
O perfeito seinen fará a porta dupla.
Volte para Rocky Mountain High e nós só vemos esses botões.
Perfeito.
Certifique-se de que isso ainda funciona.
Parece bom, mas ainda parece bom.
Agora, assinemos como Sirius Black.
Agora esperamos ver os botões e nós fazemos.
Perfeito e eu também posso excluir isso agora.
Vamos excluí-lo.
Quero sair desse acampamento porque os acampamentos são preciosos.
Precisamos que isso demore um pouco para adicionar um novo