1
00:00:00,210 --> 00:00:03,550
이 강의로 돌아와서 재미있는 새로운 자료를 볼 것입니다.

2
00:00:03,600 --> 00:00:15,980
우리는 사용자 모델을 우리가 캠프 그라운드에서 다루었던 인증과 결합하여 사용자가 생성하지 않은 캠프 그라운드를 삭제할 수 없도록하거나 사용자가 캠프 그라운드를 편집 할 수 없도록합니다 만들지 않았다.

3
00:00:16,200 --> 00:00:18,450
이것은 승인이라고하는 것입니다.

4
00:00:18,600 --> 00:00:27,190
그래서 인증과 인증이 다른 것은 누군가가 자신이 말하는 사람인지 알아내는 것입니다.

5
00:00:27,450 --> 00:00:30,780
일단 누군가가 누구인지 알고 있으면 권한이 부여됩니다.

6
00:00:30,810 --> 00:00:33,090
당신은 그들이 무엇을 할 수 있는지 알아 낸다.

7
00:00:33,090 --> 00:00:34,840
그래서 권한으로 생각하십시오.

8
00:00:35,040 --> 00:00:41,190
우리의 응용 프로그램에서 보안 허가를받은 사람이 무엇인지 누군가가 무엇을 할 수 있습니까?

9
00:00:41,190 --> 00:00:49,710
네가 같은 아이를 갖지 않으면 캠프장을 소유하지 않으면. 캠프장 작성자가 업데이트하거나 삭제할 수 없으므로

10
00:00:49,980 --> 00:00:58,270
자, 간단하게 시작해서 캠프장을 소유하지 않는 한 편집 양식을 줄 수 없도록하십시오.

11
00:00:58,290 --> 00:01:01,970
이제 우리의 캠프장 길로 가자.

12
00:01:02,400 --> 00:01:13,400
그리고 우리가하고 싶은 일은 캠프장 루트에 가거나 시도해보고, 업데이트하고, 결국 삭제할 것입니다. 세 가지를 모두 삭제하면, 우리가 방금 확인한 것과 동일한 논리를 가질 필요가 있습니다.

13
00:01:13,560 --> 00:01:19,200
현재 사용자의 I.D. 해당 캠프장의 작성자 ID와 일치해야합니다.

14
00:01:19,440 --> 00:01:25,720
따라서 이것이 우리의 캠프 그라운드 모델을 끌어 올린 것과 같은 우리의 데이터 구조처럼 보입니다.

15
00:01:25,980 --> 00:01:53,700
우리는 각 캠프장에 대한 저자가 있으며, I.D. 그건 아이디가 될거야. 사용자에 대해 그것은 특정 사용자의 객체 ID를 참조한다. 그런 다음 우리에게는 개체 ID가있는 사용자가 있습니다. 여기에 지정되어 있지는 않지만 모든 사용자는 ID가 있습니다. 현재 로그인 한 사용자 인 I.D.를 비교할 것입니다. 캠프장 작성자의 도트 ID로 이동하면 우리는 그 자리에 올라갈 수 있습니다.

16
00:01:53,700 --> 00:01:54,650
우리가 거기서 시작할거야.

17
00:01:54,900 --> 00:02:01,970
그리고 우리가하고 싶은 첫 번째 작업은 사용자가 전혀 로그인하지 않은 사람입니다.

18
00:02:02,640 --> 00:02:07,550
그러면 우리는 여름을 방향 전환 할 것입니다.

19
00:02:08,430 --> 00:02:15,020
사용자가 로그인 한 경우 사용자가 캠프장을 소유하고 있습니까?

20
00:02:15,840 --> 00:02:24,900
그렇다면 우리는 사용자가이 코드를 실행하여 내 ID를 찾고 모든 것을 삭제하도록 할 것입니다.

21
00:02:24,900 --> 00:02:27,420
그렇지 않으면 리디렉션됩니다.

22
00:02:28,260 --> 00:02:33,020
그럼 누군가가 로그인했는지 확인하기 위해이 내용을 채우자.

23
00:02:33,240 --> 00:02:39,020
요청이 인증되면 그냥 쓸 수 있습니다.

24
00:02:39,300 --> 00:02:44,140
여기에서 이미 정의한 중간 부분을 사용할 수도 있습니다.

25
00:02:44,250 --> 00:02:46,670
잠시 후에 왜 우리가 그렇게하지 않을 지 보여 드리겠습니다.

26
00:02:46,680 --> 00:02:50,100
짧은 대답은 우리가 우리 자신의 미들웨어를 정의하고 있다는 것입니다.

27
00:02:50,160 --> 00:02:53,670
그래서 우리는이 미들웨어 대신에 그 기능을 결합 할 것입니다.

28
00:02:53,670 --> 00:02:59,970
따라서 요청이 인증되면 그럴 경우 우리는 가야합니다.

29
00:02:59,970 --> 00:03:06,040
그렇지 않은 경우 시작하려면 일정한 로그를 작성해 보겠습니다.

30
00:03:06,630 --> 00:03:14,850
로그인하려면 로그인해야합니다. 그러면 Google에서 응답을 보내 드리겠습니다.

31
00:03:15,120 --> 00:03:21,480
그리고 send를 보내서 응답을 보내십시오. 실제로 보내 드리겠습니다.

32
00:03:21,530 --> 00:03:26,710
따라서 우리가 로그인하지 않았다는 것을 알게되면 가장 먼저 작동 할 것입니다.

33
00:03:26,970 --> 00:03:35,750
이 코드를 if 문 안에 복사하고 적절하게 들여 쓰기하자.

34
00:03:36,540 --> 00:03:37,190
승인.

35
00:03:37,380 --> 00:03:38,820
그래서 우리는 로그인해야합니다.

36
00:03:38,970 --> 00:03:41,490
우리는 이미이 작업을 수행하기 위해 코드를 작성했습니다.

37
00:03:41,520 --> 00:03:44,900
그래서 당신은 제가 우리가 그런 종류의 이상한 방법으로 이것에 대해 생각할 것입니다.

38
00:03:44,910 --> 00:03:46,460
그러나 잠시 후에 당신이 보게 될 것입니다.

39
00:03:46,710 --> 00:03:48,150
그래도 그것을 테스트 해 봅시다.

40
00:03:48,280 --> 00:03:51,110
저장을 시작하여 서버를 시작하십시오.

41
00:03:51,720 --> 00:03:54,300
그리고 내가 시작할 때 나는 로그인하지 않았다.

42
00:03:54,300 --> 00:03:55,360
아무도 로그인하지 않았습니다.

43
00:03:55,620 --> 00:04:03,530
그래서 내가 그것을 시도하고 그것을 슬래시로 간다면 그것은 당신이 로그인해야 할 필요가 있다고 말해줍니다.

44
00:04:03,690 --> 00:04:06,730
그래서 우리 첫 부분은 잘 작동합니다.

45
00:04:07,050 --> 00:04:13,770
그런 다음 우리가 잠겨 있으면 우리는 여기서 확인할 다른 진술을 여기서 보게 될 것입니다.

46
00:04:13,770 --> 00:04:16,610
사용자가 캠프장을 소유하고 있습니까?

47
00:04:17,700 --> 00:04:20,670
우리가 할 수있는 방법은 매우 간단합니다.

48
00:04:20,670 --> 00:04:24,600
우리가해야 할 첫 번째 일은 우리가 이미 여기에서했던 캠프장을 찾는 것입니다.

49
00:04:25,050 --> 00:04:35,390
그리고 일단 우리가 그것을 발견하면 우리는 해당 캠프장에서 저자의 ID가 해당 사용자를 요청하는 현재 사용자와 일치하는지 확인해야합니다.

50
00:04:35,460 --> 00:04:37,170
그럼 우린 가야 돼.

51
00:04:37,170 --> 00:04:42,900
여기 내부는 실제로 캠프장에서 사용자를 수행하는 곳입니다.

52
00:04:43,080 --> 00:04:47,880
오류가 없는지 확인한 다음 첫 번째 비트를 검사하여 오류가 없는지 확인합니다.

53
00:04:47,880 --> 00:05:01,980
캠프장에있는 사용자는 캠프장을 발견했기 때문에 존재합니까? 그렇다면 우리는 if 문을 사용하고 B는 캠프장 점 작성자 ID를 사용합니다. 그렇게 할 수 있다고 생각할 수도 있습니다.

54
00:05:01,980 --> 00:05:03,170
같음은 같음입니다.

55
00:05:03,450 --> 00:05:07,940
해당 사용자에게 밑줄 ID를 요청하십시오.

56
00:05:07,950 --> 00:05:20,430
그럼 내가 방금 내게 무슨 말인지 알려주 연락처 블로그 캠프장 저자 생각 ID를 누른 다음 사용자가 밑줄 ID를 그 로그 요청을 취소 할 것입니다.

57
00:05:20,520 --> 00:05:22,010
그래서 if 문을 주석 처리하십시오.

58
00:05:22,320 --> 00:05:24,320
그래서 우리는이 두 줄을 보게 될 것입니다.

59
00:05:25,730 --> 00:05:31,510
내가 로그인하려고 시도하지 않고 지금 새로 고침하고 새로 고침하면 오류가 발생합니다.

60
00:05:32,240 --> 00:05:46,350
하지만 지금 로그인하면 Potato Head에 로그인 한 다음 화강암 슬래시로 돌아갑니다.

61
00:05:46,610 --> 00:05:47,580
문제가있다.

62
00:05:47,750 --> 00:05:49,950
보자 것 같은데.

63
00:05:50,300 --> 00:05:55,280
어리석은 곳이었고 아서 캠프장에서 캠프장처럼 취소하려하지 않았습니다.

64
00:05:55,310 --> 00:05:57,130
캠프장을 찾았 어.

65
00:05:57,350 --> 00:06:01,450
그래서 다시 서버를 다시 시작하겠습니다.

66
00:06:02,660 --> 00:06:04,430
처음으로 우리는 신선합니다.

67
00:06:04,730 --> 00:06:07,310
당신은 당신이 아직도 로그인해야한다고 말해 줄 것을 압니다.

68
00:06:07,310 --> 00:06:11,810
그래서 다시 감자 헤드에 로그인합니다.

69
00:06:11,810 --> 00:06:12,860
암호.

70
00:06:13,270 --> 00:06:14,000
승인.

71
00:06:14,570 --> 00:06:21,050
이제 시도해 보니 여기에서 볼 수있는 것을 살펴보십시오.

72
00:06:21,110 --> 00:06:23,370
우리가 인쇄하는 첫 번째 일은 이렇게 보입니다.

73
00:06:23,390 --> 00:06:31,650
그래서 그것은 캠프장 Arthur ID에서 발견되었습니다. 그런 다음 사용자 데이터 I.D.를 요청합니다. 그리고 그들은 그들이 똑같은 것처럼 보입니다.

74
00:06:32,120 --> 00:06:34,370
그리고 그들이 인쇄 될 때 그들은 동일합니다.

75
00:06:34,370 --> 00:06:47,500
그러나 사실은 배후가 실제로 같지 않습니다. 사용자 아이디의 밑줄 ID는 문자열입니다. campground 작성자 도트 ID는 몽구스 객체입니다.

76
00:06:47,510 --> 00:06:49,380
그리고 이것은 까다로운 것입니다.

77
00:06:49,710 --> 00:06:59,440
나는 그것을 잊어 버린다. 때때로 잊어 버린다. 당신이 디버깅하려고 할 때 똑같이 보일 것이기 때문에 실망 스럽다. 그러나 진실은 처음에는 몽구스 객체라는 문자열이 아니다.

78
00:06:59,540 --> 00:07:00,530
우리가 그걸 인쇄 했어.

79
00:07:00,530 --> 00:07:04,470
우리는 문자열을 보았지만 그것은 단지 두 문자열 버전입니다.

80
00:07:04,490 --> 00:07:06,460
뒤에는 문자열이 아닙니다.

81
00:07:06,740 --> 00:07:07,610
그리고 이것은 문자열입니다.

82
00:07:07,610 --> 00:07:09,750
그래서 우리가 그것들을 비교할 때 그것은 효과가 없을 것입니다.

83
00:07:10,070 --> 00:07:19,200
그래서 그들을 triple equals 나 double equals와 비교하는 대신에 우리가 대신 할 수있는 것은 몽구스가이 목적을 위해 우리에게주는 방법을 사용하는 것입니다.

84
00:07:19,520 --> 00:07:23,180
그래서 우리가하는 일은 캠프장을 점검하는 대신 IF 문장을 쓰는 것입니다.

85
00:07:23,210 --> 00:07:26,620
작성자 Dodd ID 트리플은 사용자 ID에서 요청을 같습니다.

86
00:07:26,870 --> 00:07:31,650
우리는 점이 같음을 사용합니다.

87
00:07:31,650 --> 00:07:33,070
우리는 거기에 갈.

88
00:07:33,950 --> 00:07:43,000
그리고 지금 우리의 IF 성명서는 이것이 캠프장에서 다시 발견 될 필요가 있다는 사실을 제외하고는 효과가 있습니다.

89
00:07:43,040 --> 00:07:54,530
따라서 경로를 기반으로하는 ID로 특정 발견 된 캠프장의 작성자 ID가 현재 로그인 한 사용자 ID와 같은지 확인합니다.

90
00:07:54,560 --> 00:07:57,090
그럴 경우 우리는 한 가지를 할 것입니다.

91
00:07:57,230 --> 00:07:58,750
그렇지 않으면 우리는 다른 것을 할 것입니다.

92
00:07:58,760 --> 00:08:09,090
그렇다면 여기에서 우리가 할 것입니다. 발견 된 캠프장과 함께 캠프장 편집 페이지의 캠프장 페이지를 렌더링하십시오.

93
00:08:09,230 --> 00:08:11,320
그렇지 않으면 우리는 휴식을 취할 것입니다.

94
00:08:11,720 --> 00:08:22,520
그걸 할 수있는 권한이 없다는 사실은 결국 변경 될 것입니다. 그렇지 않으면 단지 빨간 점이 될뿐만 아니라 실제 메시지가 표시됩니다.

95
00:08:22,520 --> 00:08:34,280
그래서 우리의 응용 프로그램에 가보려고하자 쇼 페이지에 첫 번째 일은 내가 지금 시도하고 그것을 편집 할 경우 로그인해야합니다.

96
00:08:34,550 --> 00:08:49,070
이제 로그인하거나 감자 머리가 아닌 다른 사람으로 가입하면 토마토 머리를 할 것이므로 잘만 보일 것입니다.

97
00:08:49,100 --> 00:08:52,160
우리가 간다. 너는 그 일을 할 권한이 없다.

98
00:08:52,280 --> 00:09:05,730
이제 우리가 돌아가서 로그 아웃 한 다음 감자 헤드로 다시 로그인하고 다시 시도하면 시도하고 편집합니다.

99
00:09:06,020 --> 00:09:07,010
나는 허락을 받았어.

100
00:09:07,040 --> 00:09:08,270
그리고 나는 여기서 끝납니다.

101
00:09:08,270 --> 00:09:09,420
그래서 효과가 있습니다.

102
00:09:09,440 --> 00:09:10,750
어느 쪽이 위대한가.

103
00:09:10,880 --> 00:09:15,750
이제 우리는 실제로 이것을 리팩토링하여 별도의 함수로 만듭니다.

104
00:09:15,800 --> 00:09:18,200
이 논리의 대부분은 그것을 무언가라고 부를 것입니다.

105
00:09:18,200 --> 00:09:29,030
사용자 캠프장을 확인하거나 기본적으로 확인중인 캠프 그라운드 사용자에게 현재 로그인 한 사용자가이 특정 캠프장과 일치하는지 확인하십시오.

106
00:09:29,240 --> 00:09:34,050
미들웨어로 옮겨야하는 이유는 편집 할 때 사용하기 때문입니다.

107
00:09:34,190 --> 00:09:35,920
우리는 또한 그것을 업데이트 할 때 사용하기를 원합니다.

108
00:09:35,960 --> 00:09:39,110
로그인하지 않은 사용자가 요청을 보낼 수 없도록하고 싶습니다.

109
00:09:39,110 --> 00:09:41,890
그래서 다시 브라우저를 사용합니다.

110
00:09:42,050 --> 00:09:48,110
실제로 시각적으로 데이터를 보내도록 업데이트를 얻는 유일한 방법은이 양식을 사용하는 것입니다.

111
00:09:48,350 --> 00:09:53,110
우편 배달부는 우편 배달부에서 요청을 보낼 수 있으며 인증을받지 못했습니다.

112
00:09:53,120 --> 00:09:57,850
그래서 우리는 여기서 같은 논리를 원하고 삭제를 위해서 같은 것을하고 싶습니다.

113
00:09:57,920 --> 00:10:02,640
따라서 로그인하지 않은 상태에서 캠프장을 삭제할 수 없도록해야합니다.

114
00:10:02,690 --> 00:10:04,680
그리고 당신이 그것을 소유하지 않는다면.

115
00:10:04,970 --> 00:10:10,080
이제 우리는이 코드를 복사 할 미들웨어를 작성합니다.

116
00:10:10,220 --> 00:10:15,850
나는 거기에 남겨 두겠다. 그러나 우리는 다른 미들웨어로 지금은 내려갈 것이다.

117
00:10:15,920 --> 00:10:22,290
그런데 마지막으로 캠프장 소유권을 확인하는 것이 좋습니다.

118
00:10:22,580 --> 00:10:25,380
그런 다음이 코드를 붙여 넣습니다. 여기서는 약간의 작업을 수행 할 것입니다.

119
00:10:25,670 --> 00:10:32,750
하지만 최종 목표는 편집시 미들웨어를 추가하여 캠프장 소유권을 확인할 수 있어야한다는 것입니다.

120
00:10:32,750 --> 00:10:35,030
우리는 그것을 업데이트 할 수 있어야합니다.

121
00:10:35,050 --> 00:10:39,930
그리고 삭제에도 불구하고 우리는 그걸로 시작할 것이고 우리가하고 싶은 것은 확인입니다.

122
00:10:39,930 --> 00:10:47,860
먼저 요청 응답을 추가하고 다음에 미들웨어가 요청 응답을 설정하도록 기억해야합니다.

123
00:10:47,870 --> 00:10:50,140
따라서 사용자가 현재 로그인 한 경우

124
00:10:50,330 --> 00:10:55,550
우리가 휴식을 취하는 것보다 오히려 로그인하지 않으면 계속 움직여 라.

125
00:10:55,760 --> 00:10:59,860
지금은 식당 리디렉션을 할 예정이며 아직 보지 못했습니다.

126
00:10:59,990 --> 00:11:05,140
우리는 redstart 리디렉션을 다시 할 수 있으며, 사용자가 가장 많이 왔던 곳으로 다시 이동합니다.

127
00:11:05,150 --> 00:11:10,440
이전 페이지에서 곧 메시지를 보낼 수있는 방법을 알려 드리겠습니다.

128
00:11:10,460 --> 00:11:19,010
글쎄, 우리가 보내려는 메시지는 당신이 로그인하지 않았거나 그렇게 할 수 있어야만합니다. 그러나 우리는 지금 당장 그것을 남겨두고 있습니다.

129
00:11:19,010 --> 00:11:22,310
그리고 나서 그들이 로그인하면 우리는 캠프장을 찾을 것입니다.

130
00:11:22,610 --> 00:11:26,420
오류가 발생하면 다시 리디렉션됩니다.

131
00:11:26,420 --> 00:11:41,690
이 오류는 캠프 그라운드가 어떤 이유로 발견되지 않거나 데이터베이스가 연결되지 않았거나 캠프 그라운드가 요청 사용자 ID와 일치하는 경우 일반적으로 우리가 실제로 볼 수없는 이상한 것인 경우에 발생합니다.

132
00:11:41,690 --> 00:11:57,010
따라서 미들웨어가 편집을 렌더링하기를 원하지 않기 때문에 같은 장소에있는 사용자가이 사이트를 소유하지 않고 편집하면 나머지 부분의 코드로 이동하거나 코드로 이동합니다. 업데이트 또는 편집

133
00:11:57,020 --> 00:12:00,870
이것이 바로 우리가 다음에 할 일입니다.

134
00:12:00,910 --> 00:12:08,510
그렇지 않은 경우 소유주가 소유하지 않으면 rez 리다이렉션을 수행합니다.

135
00:12:08,510 --> 00:12:09,330
큰.

136
00:12:09,410 --> 00:12:16,200
이제 이것을 저장해 보도록하겠습니다. 여기서 편집 경로를 업데이트 할 것입니다.

137
00:12:16,310 --> 00:12:38,390
우리는 이것을 많이 다듬을 수 있습니다. 그래서 우리는 캠프장을 찾고 싶습니다. 우리가 할 수있는 모든 것은 캠프장을 찾으면 그것을 점검 할 필요가 없다는 것입니다. 중간에 우리가하고 있기 때문에 더 이상 일치합니다. 우리가 원하는 것은 캠프장에서이 모든 것을 제거 할 수 있다는 것입니다.

138
00:12:38,510 --> 00:12:48,550
거의 모든 Office 형식에서이 형식이 올바르게 나타나므로 조금만 빠져 나옵니다.

139
00:12:48,550 --> 00:12:49,840
우리는 거기에 갈.

140
00:12:50,690 --> 00:13:02,800
그래서 우리가 Scheck의 캠프장 소유율을 여기에 추가 했으므로 우리가 지금하고있는 것은 캠프 그라운드 소유권을 이미 확인했다는 것입니다.

141
00:13:03,230 --> 00:13:18,440
그렇지 않으면 문제가 발생하면 우리는 오류가 발생하는 것을 보았을 것입니다. 여기에 작은 구문 오류가 있습니다. 여기서 어떻게 든 내 함수 선언을 삭제하고 오류를 처리하지 않는다고 불평 할 수 있습니다. 우리가 처리 할 수 ​​있습니다.

142
00:13:18,440 --> 00:13:25,690
그러나 우리가이 지점에 도달하면 PI ID를 찾는 데 오류가 없어야합니다. 왜냐하면 여기에서 PI ID를 찾았 기 때문입니다.

143
00:13:25,990 --> 00:13:29,370
그리고 그것이 여기에서 작동한다면 어쨌든 우리는 잘되어야합니다.

144
00:13:29,390 --> 00:13:33,590
그럼 우리가 어떤 문제가 있는지 알아 보도록하겠습니다.

145
00:13:33,620 --> 00:13:36,610
기본적으로 우리는 코드를 별도의 함수로 옮겼습니다.

146
00:13:37,040 --> 00:13:41,650
그리고 우리가 올바른 핸들러에 도달하기 전에 미들웨어가 호출된다는 것을 기억하십시오.

147
00:13:42,140 --> 00:13:42,530
승인.

148
00:13:42,560 --> 00:13:43,980
그러니 한번 시도해 봅시다.

149
00:13:44,120 --> 00:13:49,270
먼저 돌아가서 편집을 클릭 해 봅시다.

150
00:13:49,280 --> 00:13:51,910
나는 로그인하지 않았다.
