Em seguida, tentemos fazer login em um login como esta vez, senha da Batata Head,
então tentaremos editar isso e isso funciona e devemos atualizar isso apenas para que possamos tentar
isso.
Vamos eliminar os pontos de exclamação.
Submeta e atualiza, não há pontuação no final do sorriso na minha.
OK, então vamos aplicá-lo para atualização.
Nós não queremos que alguém seja capaz de atualizar algo também, então não é
só ver o formulário, mas é sobre realmente fazer a atualização, queremos protegê-los e excluí-lo.
Agora, qualquer um pode fazê-lo, mas, assim que eu reiniciar o servidor e eu tento atualizar.
Atualmente, não estou logado se clicar em apagar me leva de volta aqui assim que eu logar e lembrar que está acontecendo
por causa do redirecionamento do redirecionamento para trás.
Então, fará o Taito novamente.
Senha de acesso.
Agora, se eu tentar e excluir isso, ele funciona bem.
E agora ele perdeu outro acampamento precioso e estamos quase fora deles para brincar.
de erro diferente para que diga algo como Você deve seja logado primeiro e depois, se eles estiverem logados.
Então, esse é o nosso meio em que o configuramos corretamente agora verificamos a propriedade do acampamento que verifica
o usuário logado, se eles não estiverem então apenas redirecionados de volta e, eventualmente, terão uma
mensagem
Mas eles não possuem o acampamento, então teremos uma mensagem diferente que diz que você não tem permissão
para fazer isso ou que não é seu para excluir algo assim e então a linha importante é
a próxima aqui.
a cultura de Trípoli porque temos que fazer o curso da Doddie, porque o fato de que isso é uma string e este
é um objeto de mangusto de idéia de objeto, então não é comparável a uma string e, portanto, usar a construído em um método igual que vem com macacos.
Então, se o ponto de identificação do autor do acampamento igual não pode fazer
Em seguida, avançamos para o próximo qual é o código que temos dentro do manipulador certo.
Então, corremos isso se funcionar.
Nós executamos isso.
Qual é o próximo.
Ou, neste caso, executamos isso.
Qual é o próximo.
E no caso da atualização, executamos isso.
OK, então vamos economizar.
Temos uma coisa menos que seria bom fazer.
O que seria ocultar esses botões.
Se não estou logado, não devo ver um botão de exclusão de edição.
Praticamente nenhum site na internet que tem esse tipo de autorização, o que mostra esse botão.
É apenas uma experiência de usuário ruim se você acha que pode fazer algo, mas você não pode.
Então, queremos escondê-lo e tudo o que precisamos fazer é ir para o nosso modelo, então esse é o modelo de
exibição e dentro daqui precisamos encontrar esses dois botões aqui.
Então, adicionamos uma afirmação if e só vou escrever uma declaração vazia para começar
com como colchetes corretos.
Assim como isso e irá recuar apenas para facilitar a leitura e tudo o que queremos fazer é verificar
se o usuário conectado possui o acampamento atual na página do show e isso é simples de fazer.
Nós podemos apenas adicionar exatamente o mesmo código que vimos aqui em nosso middleware, exceto que ele precisa ser
um pouco diferente, mas a mesma idéia.
Se eu colar isso, podemos seguir isso em vez do acampamento encontrado no modelo.
nós realmente não temos acesso para solicitar essa ID de usuário, mas lembre-se de que temos o usuário atual que configuramos.
Nós chamamos esse ponto de identificação de ponto de autor de campground igual e
E se você não lembrar quando ou onde nós configuramos eu vou mostrar-lhe brevemente.
Está dentro do nosso apartamento.
Sim, vamos até aí e você dá uma olhada aqui.
Leia coisas locais.
O usuário atual é pedido no usuário e isso é adicionado a cada modelo.
Todas as rotas terão o usuário atual disponível no modelo igual ao usuário atualmente conectado, de modo que o
usuário atual insinua o ID.
Vamos dar uma chance.
Agora, certifique-se de adicionar o restante dos parênteses da indicação if.
E se atualizarmos.
Você vê que temos um problema e o que acontece é que não temos um usuário atual agora.
Então, porque não há nenhum usuário registrado no atual, a identificação do rastreio é problemática.
Então, há uma maneira simples de verificar se você deseja verificar primeiro.
Existe um usuário atual.
Se houver, então vamos verificar se esse usuário possui isso.
Então, para evitar o erro.
Tudo o que precisamos fazer é se o usuário atual e o ID do autor do acampamento forem iguais ao ID do usuário atual, lembre-se de que,
se isso for falso.
Então, se o usuário atual estiver indefinido se estiver vazio.
Se é algo que é falsa, nunca avançamos para o resto disso porque a maneira como uma declaração AND funciona
é que ele exige que ambos os lados sejam verdadeiros.
Então é curto-circuito.
usuário atual é qualquer coisa, qualquer objeto de usuário qualquer coisa que não seja falsa se é o usuário certo ou não.
Se isso é falso e nunca avaliamos isso, mas se o
Isso será verdade e, então, isso irá verificar se o usuário realmente possui o acampamento.
Então, se tentarmos novamente, atualize.
Agora, não vemos os botões, mas se eu logar como Potato Head
para mais informações, eu vejo esses botões e apenas checar tudo, ainda funciona.
Vamos chamá-lo de Sunset Lake.
Enviar e tudo ainda funciona bem.
Ótimo.
Então vamos recapitular algo do que fizemos aqui.
Mais importante ainda, nesta última lição, focamos a autorização que é diferente da autenticação.
A autenticação é apenas efetuar o login para verificar se você é quem você diz que é.
Embora a autorização seja diferente de permissões ou autorizações de segurança, seja o que quiser, considere
o que um usuário que efetuou sessão é capaz de fazer o que é permitido fazer.
Então, no nosso caso, fomos de ter qualquer um capaz de excluir e atualizar qualquer campground.
Mas agora, apenas os usuários que possuem um acampamento podem excluir uma atualização e também a última coisa que fizemos foi
ocultar os botões.
Dependendo se você estiver logado ou não.
E nós protegemos três rotas diferentes que foram adicionadas, ele parece atualizar aqui e deletar ou
destruir.
E isso estava usando o nosso middleware de propriedade de campground de cheques que definimos por enquanto,
está apenas no fundo deste arquivo.
Impressionante.
coisas semelhantes para comentários para que você possa atualizar um comentário e excluir um comentário e depois nos concentraremos
em autorização novamente, certificando-se de que apenas as pessoas que possuem um comentário podem atualizá-lo ou excluí-lo.
Na próxima lição, nos concentraremos em fazer