1
00:00:00,390 --> 00:00:08,220
Em seguida, tentemos fazer login em um login como esta vez, senha da Batata Head,

2
00:00:10,800 --> 00:00:19,080
então tentaremos editar isso e isso funciona e devemos atualizar isso apenas para que possamos tentar

3
00:00:19,080 --> 00:00:19,880
isso.

4
00:00:20,040 --> 00:00:22,620
Vamos eliminar os pontos de exclamação.

5
00:00:22,620 --> 00:00:28,840
Submeta e atualiza, não há pontuação no final do sorriso na minha.

6
00:00:29,410 --> 00:00:34,500
OK, então vamos aplicá-lo para atualização.

7
00:00:34,500 --> 00:00:40,290
Nós não queremos que alguém seja capaz de atualizar algo também, então não é

8
00:00:40,320 --> 00:00:46,450
só ver o formulário, mas é sobre realmente fazer a atualização, queremos protegê-los e excluí-lo.

9
00:00:46,950 --> 00:00:54,110
Agora, qualquer um pode fazê-lo, mas, assim que eu reiniciar o servidor e eu tento atualizar.

10
00:00:54,720 --> 00:01:03,780
Atualmente, não estou logado se clicar em apagar me leva de volta aqui assim que eu logar e lembrar que está acontecendo

11
00:01:03,780 --> 00:01:06,810
por causa do redirecionamento do redirecionamento para trás.

12
00:01:06,810 --> 00:01:10,210
Então, fará o Taito novamente.

13
00:01:11,370 --> 00:01:14,730
Senha de acesso.

14
00:01:15,030 --> 00:01:19,990
Agora, se eu tentar e excluir isso, ele funciona bem.

15
00:01:20,250 --> 00:01:24,310
E agora ele perdeu outro acampamento precioso e estamos quase fora deles para brincar.

16
00:01:24,360 --> 00:01:30,300
de erro diferente para que diga algo como Você deve seja logado primeiro e depois, se eles estiverem logados.

17
00:01:30,300 --> 00:01:36,180
Então, esse é o nosso meio em que o configuramos corretamente agora verificamos a propriedade do acampamento que verifica

18
00:01:36,180 --> 00:01:41,100
o usuário logado, se eles não estiverem então apenas redirecionados de volta e, eventualmente, terão uma

19
00:01:41,100 --> 00:01:41,430
mensagem

20
00:01:41,550 --> 00:01:46,680
Mas eles não possuem o acampamento, então teremos uma mensagem diferente que diz que você não tem permissão

21
00:01:46,680 --> 00:01:51,800
para fazer isso ou que não é seu para excluir algo assim e então a linha importante é

22
00:01:51,810 --> 00:01:52,470
a próxima aqui.

23
00:01:52,470 --> 00:01:59,730
a cultura de Trípoli porque temos que fazer o curso da Doddie, porque o fato de que isso é uma string e este

24
00:01:59,730 --> 00:02:08,640
é 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.

25
00:02:08,640 --> 00:02:13,160
Então, se o ponto de identificação do autor do acampamento igual não pode fazer

26
00:02:13,230 --> 00:02:18,070
Em seguida, avançamos para o próximo qual é o código que temos dentro do manipulador certo.

27
00:02:18,120 --> 00:02:20,140
Então, corremos isso se funcionar.

28
00:02:20,280 --> 00:02:20,880
Nós executamos isso.

29
00:02:20,880 --> 00:02:21,960
Qual é o próximo.

30
00:02:22,080 --> 00:02:24,390
Ou, neste caso, executamos isso.

31
00:02:24,390 --> 00:02:25,270
Qual é o próximo.

32
00:02:25,350 --> 00:02:28,240
E no caso da atualização, executamos isso.

33
00:02:28,860 --> 00:02:30,090
OK, então vamos economizar.

34
00:02:30,240 --> 00:02:32,740
Temos uma coisa menos que seria bom fazer.

35
00:02:33,100 --> 00:02:35,660
O que seria ocultar esses botões.

36
00:02:35,880 --> 00:02:39,680
Se não estou logado, não devo ver um botão de exclusão de edição.

37
00:02:39,770 --> 00:02:44,700
Praticamente nenhum site na internet que tem esse tipo de autorização, o que mostra esse botão.

38
00:02:44,970 --> 00:02:48,500
É apenas uma experiência de usuário ruim se você acha que pode fazer algo, mas você não pode.

39
00:02:48,510 --> 00:02:55,380
Então, queremos escondê-lo e tudo o que precisamos fazer é ir para o nosso modelo, então esse é o modelo de

40
00:02:55,380 --> 00:02:58,710
exibição e dentro daqui precisamos encontrar esses dois botões aqui.

41
00:02:58,880 --> 00:03:05,940
Então, adicionamos uma afirmação if e só vou escrever uma declaração vazia para começar

42
00:03:05,940 --> 00:03:07,800
com como colchetes corretos.

43
00:03:08,820 --> 00:03:14,610
Assim como isso e irá recuar apenas para facilitar a leitura e tudo o que queremos fazer é verificar

44
00:03:14,610 --> 00:03:20,220
se o usuário conectado possui o acampamento atual na página do show e isso é simples de fazer.

45
00:03:20,370 --> 00:03:27,900
Nós podemos apenas adicionar exatamente o mesmo código que vimos aqui em nosso middleware, exceto que ele precisa ser

46
00:03:27,900 --> 00:03:30,810
um pouco diferente, mas a mesma idéia.

47
00:03:32,130 --> 00:03:36,740
Se eu colar isso, podemos seguir isso em vez do acampamento encontrado no modelo.

48
00:03:36,750 --> 00:03:44,400
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.

49
00:03:44,640 --> 00:03:49,660
Nós chamamos esse ponto de identificação de ponto de autor de campground igual e

50
00:03:50,110 --> 00:03:53,940
E se você não lembrar quando ou onde nós configuramos eu vou mostrar-lhe brevemente.

51
00:03:54,060 --> 00:03:55,910
Está dentro do nosso apartamento.

52
00:03:55,950 --> 00:03:59,660
Sim, vamos até aí e você dá uma olhada aqui.

53
00:03:59,660 --> 00:04:00,660
Leia coisas locais.

54
00:04:00,660 --> 00:04:05,310
O usuário atual é pedido no usuário e isso é adicionado a cada modelo.

55
00:04:05,310 --> 00:04:11,250
Todas as rotas terão o usuário atual disponível no modelo igual ao usuário atualmente conectado, de modo que o

56
00:04:11,250 --> 00:04:12,990
usuário atual insinua o ID.

57
00:04:13,090 --> 00:04:13,740
Vamos dar uma chance.

58
00:04:13,740 --> 00:04:17,920
Agora, certifique-se de adicionar o restante dos parênteses da indicação if.

59
00:04:18,180 --> 00:04:19,430
E se atualizarmos.

60
00:04:19,680 --> 00:04:24,990
Você vê que temos um problema e o que acontece é que não temos um usuário atual agora.

61
00:04:24,990 --> 00:04:31,170
Então, porque não há nenhum usuário registrado no atual, a identificação do rastreio é problemática.

62
00:04:31,170 --> 00:04:34,210
Então, há uma maneira simples de verificar se você deseja verificar primeiro.

63
00:04:34,230 --> 00:04:35,460
Existe um usuário atual.

64
00:04:35,640 --> 00:04:39,180
Se houver, então vamos verificar se esse usuário possui isso.

65
00:04:39,690 --> 00:04:40,640
Então, para evitar o erro.

66
00:04:40,650 --> 00:04:48,480
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,

67
00:04:48,480 --> 00:04:49,760
se isso for falso.

68
00:04:49,830 --> 00:04:53,090
Então, se o usuário atual estiver indefinido se estiver vazio.

69
00:04:53,310 --> 00:04:59,250
Se é algo que é falsa, nunca avançamos para o resto disso porque a maneira como uma declaração AND funciona

70
00:04:59,250 --> 00:05:02,070
é que ele exige que ambos os lados sejam verdadeiros.

71
00:05:02,160 --> 00:05:03,150
Então é curto-circuito.

72
00:05:03,150 --> 00:05:09,390
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.

73
00:05:09,390 --> 00:05:12,620
Se isso é falso e nunca avaliamos isso, mas se o

74
00:05:12,630 --> 00:05:17,770
Isso será verdade e, então, isso irá verificar se o usuário realmente possui o acampamento.

75
00:05:18,060 --> 00:05:21,620
Então, se tentarmos novamente, atualize.

76
00:05:21,810 --> 00:05:26,490
Agora, não vemos os botões, mas se eu logar como Potato Head

77
00:05:33,440 --> 00:05:38,680
para mais informações, eu vejo esses botões e apenas checar tudo, ainda funciona.

78
00:05:38,790 --> 00:05:42,900
Vamos chamá-lo de Sunset Lake.

79
00:05:42,900 --> 00:05:45,720
Enviar e tudo ainda funciona bem.

80
00:05:46,170 --> 00:05:46,560
Ótimo.

81
00:05:46,560 --> 00:05:48,620
Então vamos recapitular algo do que fizemos aqui.

82
00:05:48,630 --> 00:05:54,900
Mais importante ainda, nesta última lição, focamos a autorização que é diferente da autenticação.

83
00:05:55,410 --> 00:06:00,130
A autenticação é apenas efetuar o login para verificar se você é quem você diz que é.

84
00:06:00,240 --> 00:06:04,950
Embora a autorização seja diferente de permissões ou autorizações de segurança, seja o que quiser, considere

85
00:06:04,950 --> 00:06:09,810
o que um usuário que efetuou sessão é capaz de fazer o que é permitido fazer.

86
00:06:09,810 --> 00:06:16,810
Então, no nosso caso, fomos de ter qualquer um capaz de excluir e atualizar qualquer campground.

87
00:06:17,100 --> 00:06:23,700
Mas agora, apenas os usuários que possuem um acampamento podem excluir uma atualização e também a última coisa que fizemos foi

88
00:06:23,700 --> 00:06:24,470
ocultar os botões.

89
00:06:24,630 --> 00:06:26,180
Dependendo se você estiver logado ou não.

90
00:06:26,400 --> 00:06:36,860
E nós protegemos três rotas diferentes que foram adicionadas, ele parece atualizar aqui e deletar ou

91
00:06:36,870 --> 00:06:37,850
destruir.

92
00:06:37,860 --> 00:06:43,530
E isso estava usando o nosso middleware de propriedade de campground de cheques que definimos por enquanto,

93
00:06:43,530 --> 00:06:45,390
está apenas no fundo deste arquivo.

94
00:06:45,420 --> 00:06:45,940
Impressionante.

95
00:06:46,170 --> 00:06:52,080
coisas semelhantes para comentários para que você possa atualizar um comentário e excluir um comentário e depois nos concentraremos

96
00:06:52,110 --> 00:06:57,420
em autorização novamente, certificando-se de que apenas as pessoas que possuem um comentário podem atualizá-lo ou excluí-lo.

97
00:06:57,420 --> 00:06:59,750
Na próxima lição, nos concentraremos em fazer
