1
00:00:00,420 --> 00:00:01,200
Bem vindo de volta.

2
00:00:01,410 --> 00:00:07,580
Neste vídeo, iremos adicionar autorização às rotas de comentários que acabamos de adicionar, então edite a atualização

3
00:00:07,650 --> 00:00:13,950
e destrua a única para usar ou para realmente editar ou atualizar algo se esse usuário possuir

4
00:00:14,010 --> 00:00:16,710
o comentário, assim como fizemos para campgrounds.

5
00:00:16,980 --> 00:00:22,950
Conseguiremos isso com basicamente o mesmo código em que temos um middleware que pensamos que chamamos nossa verificação de propriedade do

6
00:00:23,490 --> 00:00:29,070
acampamento, mas o nosso será chamado de verificar a posse do comentário e, em seguida, também queremos garantir que escondamos

7
00:00:29,070 --> 00:00:34,620
e mostre esses botões para que não possamos " t mostrar ao usuário um botão de exclusão que eles realmente

8
00:00:34,620 --> 00:00:35,620
não podem clicar.

9
00:00:35,640 --> 00:00:37,820
Eles não têm permissão para excluir esse comentário.

10
00:00:38,250 --> 00:00:43,500
O que também é basicamente o mesmo código que usamos para comentários ou para campgrounds.

11
00:00:43,500 --> 00:00:48,930
E, finalmente, e esta é a única coisa que é realmente nova é que eu queremos que refactem nosso middleware.

12
00:00:49,380 --> 00:00:55,470
Então, basta simplesmente mover todo o nosso middleware para um novo arquivo e exigir que o arquivo comece assegurando que

13
00:00:55,470 --> 00:01:00,910
um usuário não possa chegar à rota de edição se ele ou ela não possui esse comentário.

14
00:01:01,050 --> 00:01:04,750
Então, vamos para a rota em vez de nossos comentários aqui.

15
00:01:05,120 --> 00:01:06,840
E vamos para Editar.

16
00:01:07,680 --> 00:01:10,630
Queremos um middleware aqui que fará a verificação para nós.

17
00:01:10,740 --> 00:01:18,990
Então, verifique a propriedade dos comentários, como fizemos no último vídeo ou no último vídeo do acampamento, onde fizemos

18
00:01:18,990 --> 00:01:24,870
verificar a propriedade do acampamento e, se dar uma olhada nesse código, simplesmente copiará

19
00:01:24,870 --> 00:01:25,310
tudo.

20
00:01:25,320 --> 00:01:35,130
É meio longo colocá-lo no fundo com o nosso outro meio em que mudamos esse nome, verifique a propriedade

21
00:01:35,160 --> 00:01:36,360
dos comentários.

22
00:01:36,510 --> 00:01:41,870
A primeira coisa que fazemos é verificar se o usuário está logado é qualquer usuário logado.

23
00:01:42,510 --> 00:01:49,920
Se não apenas redirecioná-los de volta e mostrará uma mensagem eventualmente que diz, assine ou você precisa estar assinado

24
00:01:49,920 --> 00:01:51,220
para fazer isso.

25
00:01:51,390 --> 00:01:55,560
E isso é um erro diferente do que você não é o proprietário correto.

26
00:01:55,560 --> 00:01:57,830
Então, não queremos dizer que você não tem permissão para fazer isso.

27
00:01:57,840 --> 00:02:04,620
Sempre queremos dizer o início de sessão primeiro e, em seguida, se você entrar e você ainda não possui, então

28
00:02:04,620 --> 00:02:05,940
enviaremos uma mensagem diferente.

29
00:02:05,970 --> 00:02:09,500
Por enquanto, não importa porque não temos essas mensagens.

30
00:02:10,320 --> 00:02:14,940
Então, se você estiver conectado, precisamos encontrar o comentário comentado bem até sexta-feira.

31
00:02:15,060 --> 00:02:24,260
Não é pedido até a solicitação de identificação do tramstop para os comentários do tramstop. Id, altere isso para ser encontrado.

32
00:02:24,990 --> 00:02:27,690
Se houver um erro, redirecione novamente o que está bem.

33
00:02:27,840 --> 00:02:31,700
Além disso, vamos mudar seu comentário para torná-lo um pouco mais claro.

34
00:02:31,770 --> 00:02:33,020
E eu continuo dizendo comentar.

35
00:02:33,270 --> 00:02:38,460
Eu quero dizer mudar o comentário javascript não o modelo de comentário real.

36
00:02:38,490 --> 00:02:47,840
Então, precisamos verificar se o autor do comentário encontrado que a ID é igual a solicitação de identificação do usuário.

37
00:02:47,850 --> 00:02:51,530
Então vamos dar uma olhada no modelo para comentar.

38
00:02:51,570 --> 00:02:59,160
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

39
00:02:59,160 --> 00:03:00,970
triplos como no acampamento.

40
00:03:01,140 --> 00:03:07,170
comparando com o ID do usuário logado que é armazenado dentro do pedido que o usuário agradece ao passaporte.

41
00:03:07,180 --> 00:03:12,560
Então, se encontrado, o ponto de identificação do autor é igual a esse método especial que estamos

42
00:03:12,630 --> 00:03:18,960
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.

43
00:03:19,290 --> 00:03:27,060
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

44
00:03:27,060 --> 00:03:32,940
diferentes para que possamos especificar uma mensagem de erro diferente quando chegarmos a isso em apenas alguns

45
00:03:32,940 --> 00:03:34,690
vídeos a partir de agora.

46
00:03:34,710 --> 00:03:37,350
Então, vamos agora garantir que tudo o resto seja bom.

47
00:03:37,350 --> 00:03:38,400
Verifique a propriedade comum.

48
00:03:38,400 --> 00:03:40,530
Nós temos isso aqui.

49
00:03:40,690 --> 00:03:41,920
Precisamos ir para editar a rota.

50
00:03:41,940 --> 00:03:44,770
Nós adicionamos isso em questão de comentários de cheques.

51
00:03:44,770 --> 00:03:49,290
Ótimo, vamos dar uma chance e ver o que acontece.

52
00:03:51,150 --> 00:03:52,470
Boa.

53
00:03:53,070 --> 00:03:55,400
Então todos deveriam chegar aqui.

54
00:03:55,500 --> 00:04:00,210
Eu não estou logado agora mesmo, se eu clicar nisso me leva de volta aqui.

55
00:04:00,210 --> 00:04:01,470
Perfeito.

56
00:04:01,470 --> 00:04:13,890
Agora, se eu logar como Sirius Black que criou esse comentário e eu tentei isso novamente, agora ele funciona.

57
00:04:15,630 --> 00:04:18,220
Vamos apenas adicionar algumas coisas experientes aqui.

58
00:04:18,690 --> 00:04:21,820
Agora, isso não está protegido porque essa é a rota de atualização.

59
00:04:21,870 --> 00:04:26,970
Então, na verdade, simplesmente fazemos exatamente o mesmo, e é por isso que é tão

60
00:04:26,970 --> 00:04:33,510
bom que mudamos isso para uma função separada porque poderíamos ter todo esse código aqui e depois duplicá-lo para

61
00:04:33,540 --> 00:04:34,270
atualização também.

62
00:04:34,380 --> 00:04:36,560
Bem aqui.

63
00:04:37,410 --> 00:04:38,720
E para destruir.

64
00:04:38,730 --> 00:04:41,590
Mas vamos deixar isso por enquanto.

65
00:04:41,700 --> 00:04:44,790
Certifique-se de que funciona.

66
00:04:44,790 --> 00:04:53,580
Então, teoricamente, eu poderia, de alguma forma, acabar enviando uma solicitação de atualização do carteiro ou algo parecido

67
00:04:53,970 --> 00:04:55,940
com algum outro aplicativo.

68
00:04:55,980 --> 00:05:00,300
No entanto, você sabe que um usuário faria o que seria muito raro, mas, teoricamente, alguém

69
00:05:00,300 --> 00:05:00,980
poderia fazer isso.

70
00:05:01,530 --> 00:05:07,920
E sem adicionar a propriedade do comentário de verificação para atualizar, não seria protegido.

71
00:05:08,520 --> 00:05:12,260
Mas não vamos notar nada diferente aqui se eu tentar.

72
00:05:12,330 --> 00:05:18,400
O mesmo problema se eu voltar a entrar e você pode ignorar isso se você realmente não se importar em vê-lo.

73
00:05:20,460 --> 00:05:30,020
Não é a parte mais excitante deste curso me observando entrar agora se eu editar a atualização funcionar bem.

74
00:05:30,060 --> 00:05:36,210
E se eu tivesse se afastado nesse ponto ou se meus dados estivessem errados ou algo

75
00:05:36,840 --> 00:05:40,610
estranho acontecesse, eu me reenviaria e, eventualmente, mostraria uma mensagem.

76
00:05:40,870 --> 00:05:44,350
OK, então é uma atualização agora se eu clicar em excluir.

77
00:05:44,400 --> 00:05:45,570
Quando não estou

78
00:05:50,670 --> 00:05:56,330
logado, posso excluir esse comentário que, obviamente, não é o que queremos acontecer, então vamos corrigir isso.

79
00:05:56,740 --> 00:05:59,080
Vamos para uma página que tenha comentários.

80
00:05:59,150 --> 00:06:01,100
Este não tem um.

81
00:06:01,150 --> 00:06:08,400
Deixe-me adicionar um comentário mais uma vez, não o mais emocionante.

82
00:06:08,410 --> 00:06:11,880
Ah, e digitei um comentário na senha incorretamente.

83
00:06:12,600 --> 00:06:13,720
Oh céus.

84
00:06:14,010 --> 00:06:16,130
Vamos tentar isso mais uma vez.

85
00:06:16,980 --> 00:06:17,790
ESTÁ BEM.

86
00:06:18,060 --> 00:06:19,610
Vamos para Rocky Mountain alta.

87
00:06:19,740 --> 00:06:23,150
Adicione um comentário para mim.

88
00:06:23,800 --> 00:06:24,530
ESTÁ BEM.

89
00:06:25,260 --> 00:06:29,960
Então eu não quero que um usuário seja capaz de excluir isso, a menos que esteja logado.

90
00:06:29,960 --> 00:06:31,950
É exatamente o mesmo.

91
00:06:31,950 --> 00:06:33,470
Excelente para nós.

92
00:06:33,720 --> 00:06:38,410
Basta encontrar a rota de destruição adicionar ou meio Waren e é tudo o que precisamos.

93
00:06:39,060 --> 00:06:44,160
Então, se tentarmos, mostrei-lhe que, atualmente, fizemos essa mudança.

94
00:06:44,160 --> 00:06:45,360
Qualquer pessoa pode excluir.

95
00:06:45,570 --> 00:06:52,030
Agora, se eu atualizar, não estou logado. Cliquei para excluir e ainda está lá.

96
00:06:52,410 --> 00:06:54,350
Recusa-se a excluir.

97
00:06:54,360 --> 00:07:00,040
Grande último grande passo é mostrar e ocultar esses botões de forma adequada.

98
00:07:00,090 --> 00:07:03,410
Então, deixe-me entrar ou se inscrever como outra pessoa.

99
00:07:03,690 --> 00:07:08,600
Vamos assinar como Dumble de porta em porta.

100
00:07:08,760 --> 00:07:11,520
A senha também é senha.

101
00:07:11,520 --> 00:07:16,080
Inscrever-se.

102
00:07:16,110 --> 00:07:22,250
Vamos também adicionar comentários.

103
00:07:22,590 --> 00:07:24,910
Agora, dois comentários diferentes são dois autores diferentes.

104
00:07:25,020 --> 00:07:29,570
Se eu tiver feito o login nesta porta dupla, eu só quero ver os botões de exclusão aqui.

105
00:07:29,580 --> 00:07:32,680
Estes devem estar escondidos para mim, para fazer isso.

106
00:07:32,730 --> 00:07:37,520
Dê uma olhada em como ele fez na página de exibição para apagar e editar os botões do acampamento.

107
00:07:37,560 --> 00:07:39,550
O que está certo aqui.

108
00:07:39,600 --> 00:07:49,050
Esta linha única, se o usuário atual e os dados do autor do acampamento forem iguais à ID do usuário

109
00:07:49,800 --> 00:07:54,600
atual, então mostramos isso muito similar, exceto por algumas mudanças.

110
00:07:54,690 --> 00:07:59,680
Primeiro do que é que não é um acampamento no autor dot.

111
00:08:00,630 --> 00:08:05,060
É autor de comentários e isso está definido aqui em nosso foreach.

112
00:08:05,070 --> 00:08:13,410
cada campground, clique em ordem, os comentários exibem o autor, exiba o texto e depois verifique se há um usuário atual.

113
00:08:13,520 --> 00:08:17,340
Então, seja qual for o caso, em cada caso, para

114
00:08:17,430 --> 00:08:22,950
E se a ID do usuário atual estiver aqui armazenada.

115
00:08:22,950 --> 00:08:26,490
Há muitas peças móveis aqui, mas vou rever isso brevemente.

116
00:08:26,490 --> 00:08:36,260
Isso vem daquela linha que nós adicionamos a Abdoulaye nos acima do topo que adicionam.

117
00:08:36,270 --> 00:08:39,240
Onde você está aqui.

118
00:08:39,240 --> 00:08:43,570
Usuário atual para cada um de nossos modelos.

119
00:08:43,680 --> 00:08:47,740
O Usuário atual é igual ao usuário da solicitação e solicita aos usuários provenientes do passaporte.

120
00:08:47,760 --> 00:08:50,250
Ele tem as informações do usuário para o usuário atual.

121
00:08:50,550 --> 00:08:56,220
Se houver um que devemos fazer, verifique se há um, porque se não possuímos esta primeira parte e tudo

122
00:08:56,220 --> 00:09:02,700
o que temos é que, se não houver usuário atual, nos dará um erro dizendo que o usuário atual está indefinido.

123
00:09:03,540 --> 00:09:06,420
OK, tão comum que criou esse ID.

124
00:09:06,420 --> 00:09:15,570
A última coisa que precisamos é adicionar em nosso suporte de fechamento ou uma cinta curly para a afirmação if.

125
00:09:15,990 --> 00:09:17,120
Sem sinal de igualdade.

126
00:09:17,490 --> 00:09:19,860
Então, isso é tudo incluído nessa declaração if.

127
00:09:20,190 --> 00:09:23,180
Vamos dar uma chance para começar.

128
00:09:23,180 --> 00:09:28,540
Se eu estivesse fresco, ele vai me conectar e esperamos não ver nenhum botão.

129
00:09:28,770 --> 00:09:37,410
O perfeito seinen fará a porta dupla.

130
00:09:38,920 --> 00:09:42,410
Volte para Rocky Mountain High e nós só vemos esses botões.

131
00:09:42,420 --> 00:09:43,110
Perfeito.

132
00:09:43,230 --> 00:09:45,320
Certifique-se de que isso ainda funciona.

133
00:09:46,160 --> 00:09:50,690
Parece bom, mas ainda parece bom.

134
00:09:50,700 --> 00:09:52,710
Agora, assinemos como Sirius Black.

135
00:10:00,960 --> 00:10:04,440
Agora esperamos ver os botões e nós fazemos.

136
00:10:04,530 --> 00:10:07,230
Perfeito e eu também posso excluir isso agora.

137
00:10:07,460 --> 00:10:09,750
Vamos excluí-lo.

138
00:10:09,960 --> 00:10:12,270
Quero sair desse acampamento porque os acampamentos são preciosos.

139
00:10:12,270 --> 00:10:15,330
Precisamos que isso demore um pouco para adicionar um novo
