1
00:00:00,000 --> 00:00:04,514
[MUSIC]

2
00:00:04,514 --> 00:00:09,803
Trong bài tập này, chúng ta sẽ xem xét việc sử dụng các phiên Express.

3
00:00:09,803 --> 00:00:13,115
Chúng tôi sẽ thiết lập các dấu ngoại-sessions middleware, và

4
00:00:13,115 --> 00:00:16,356
sau đó các dấu ngoại-sessions tập tin lưu trữ middleware.

5
00:00:16,356 --> 00:00:21,315
Và sau đó thiết lập ứng dụng của chúng tôi để sử dụng express-sessions thay vì

6
00:00:21,315 --> 00:00:25,885
sử dụng cookie gán của họ như chúng tôi đã làm trong bài tập trước đó.

7
00:00:25,885 --> 00:00:30,870
Chúng tôi cũng sẽ thấy làm thế nào các thông tin phiên chính nó theo dõi dưới

8
00:00:30,870 --> 00:00:32,145
phía máy chủ.

9
00:00:33,750 --> 00:00:36,556
Để bắt đầu với bài tập này,

10
00:00:36,556 --> 00:00:40,672
hãy vào thư mục ConfusionServer trong

11
00:00:40,672 --> 00:00:45,643
cửa sổ thiết bị đầu cuối hoặc lệnh của bạn, và sau đó chúng ta hãy cài đặt phiên nhanh.

12
00:00:45,643 --> 00:00:52,672
Vì vậy, để làm điều đó, gõ npm cài đặt Express-session,

13
00:00:52,672 --> 00:00:56,678
và sau đó phiên tập tin lưu trữ.

14
00:00:58,792 --> 00:01:03,320
Bởi vì chúng tôi sẽ sử dụng kho lưu trữ tệp để duy trì thông tin phiên.

15
00:01:03,320 --> 00:01:08,623
Vì vậy, sẽ cài đặt phiên cửa hàng trong mô-đun này cho mục đích.

16
00:01:08,623 --> 00:01:13,399
Một khi cả hai đều được cài đặt, và như bạn có thể thấy ngay bây giờ,

17
00:01:13,399 --> 00:01:17,008
tôi đang sử dụng phiên 1.15.6 và

18
00:01:17,008 --> 00:01:21,430
phiên tập tin lưu trữ 1.2.0 trong khóa học này.

19
00:01:21,430 --> 00:01:26,397
Một khi cả hai đều được cài đặt, chúng ta hãy vào ứng dụng ConfusionServer của chúng tôi.

20
00:01:27,510 --> 00:01:31,868
Đi đến ứng dụng ConfusionServer,

21
00:01:31,868 --> 00:01:36,921
ở đây, bây giờ chúng ta hãy nhập phiên Express-session.

22
00:01:36,921 --> 00:01:44,414
Vì vậy, chúng ta sẽ nói, var phiên yêu cầu, phiên thể hiện.

23
00:01:46,639 --> 00:01:53,560
Và var FileStore = yêu cầu

24
00:01:53,560 --> 00:01:59,908
phiên -file-store.

25
00:02:02,812 --> 00:02:07,064
Và điều này lấy phiên làm tham số của nó,

26
00:02:07,064 --> 00:02:13,830
phiên này đề cập đến điều này mà chúng tôi vừa mới nhập vào đây.

27
00:02:13,830 --> 00:02:18,970
Bây giờ một khi chúng tôi làm điều này, sau đó chúng tôi đi xuống vào mã

28
00:02:18,970 --> 00:02:22,490
của chúng tôi ở đây, và sau đó chúng tôi sẽ thấy thay vì CookieParser.

29
00:02:22,490 --> 00:02:26,598
Vì vậy, tôi sẽ bình luận ra CookieParser từ đó, và

30
00:02:26,598 --> 00:02:33,401
sau đó bây giờ tôi sẽ sử dụng, Phiên ở đây.

31
00:02:36,481 --> 00:02:41,823
Và sau đó, chúng tôi sẽ thiết lập phiên với

32
00:02:41,823 --> 00:02:47,175
các tùy chọn khác nhau, chúng tôi sẽ nói tên,

33
00:02:50,402 --> 00:02:56,909
tôi chỉ sử dụng một phiên ID ngẫu nhiên ở đây, và sau đó, Secret.

34
00:02:58,871 --> 00:03:02,880
Tôi sẽ sử dụng bí mật mà tôi đã sử dụng trước đó.

35
00:03:02,880 --> 00:03:06,493
Vậy hãy để tôi sao chép chuỗi đó ở đó.

36
00:03:06,493 --> 00:03:11,981
Và sau đó, Save,

37
00:03:13,422 --> 00:03:21,119
On, Uninitialized save false.

38
00:03:27,180 --> 00:03:28,390
Lưu lại, sai. Các bài

39
00:03:28,390 --> 00:03:32,198
luận sẽ không làm cho nhiều khác biệt với các ứng dụng đơn giản mà chúng tôi đang viết tại

40
00:03:32,198 --> 00:03:33,330
thời điểm này.

41
00:03:33,330 --> 00:03:37,604
Và sau đó chúng ta sẽ nói cửa hàng là mới,

42
00:03:39,643 --> 00:03:42,497
FileStore mà chúng tôi tuyên bố trước đó.

43
00:03:45,441 --> 00:03:46,330
Đó là nó.

44
00:03:46,330 --> 00:03:53,330
Bây giờ phần mềm trung gian phiên của tôi được thiết lập để sử dụng ứng dụng của chúng tôi.

45
00:03:53,330 --> 00:03:58,295
Bây giờ, như tôi đã đề cập, phần mềm trung gian phiên này sẽ thêm

46
00:03:58,295 --> 00:04:03,560
req.session này vào thông báo yêu cầu,

47
00:04:03,560 --> 00:04:08,630
vì vậy tôi sẽ làm một bản ghi giao diện điều khiển của req.session chỉ để xem những gì nó chứa.

48
00:04:08,630 --> 00:04:13,910
Và sau đó, xuống dưới đây, thay vì kiểm tra cho req gán cookie người dùng,

49
00:04:13,910 --> 00:04:18,370
tôi sẽ kiểm tra req.session.user ở đây.

50
00:04:19,390 --> 00:04:23,620
Và sau đó, chúng ta sẽ xem xét tiêu đề ủy quyền, v.v.

51
00:04:23,620 --> 00:04:27,460
Tất cả phần này sẽ vẫn giống hệt như trước.

52
00:04:27,460 --> 00:04:32,760
Nhưng ở đây, thay vì thiết lập cookie, những gì tôi sẽ thiết lập ở đây là,

53
00:04:32,760 --> 00:04:38,052
thay vì thiết lập cookie, vì vậy thay vì sử dụng res.cookie ở đây,

54
00:04:38,052 --> 00:04:45,470
chúng tôi sẽ nói, req.session.user = để 'admin'.

55
00:04:45,470 --> 00:04:50,030
Vì vậy, chúng tôi sẽ được thiết lập các tài sản người dùng trên

56
00:04:50,030 --> 00:04:55,510
req-session để quản trị ở đây, và sau đó tiến hành về phía trước từ thời điểm này.

57
00:04:55,510 --> 00:04:59,090
Vì vậy, phần còn lại của mã ở đây sẽ vẫn chính xác giống như trước đây,

58
00:04:59,090 --> 00:05:01,030
sẽ không có bất kỳ thay đổi nào ở đây.

59
00:05:01,030 --> 00:05:06,240
Và chấp nhận ngay ở đó, chúng tôi sẽ được kiểm tra req.session,

60
00:05:09,462 --> 00:05:11,770
người dùng, là admin hay không?

61
00:05:11,770 --> 00:05:14,340
Đó là tấm séc mà chúng ta sẽ làm ở đây.

62
00:05:14,340 --> 00:05:15,360
Đó là nó. Đó

63
00:05:15,360 --> 00:05:18,820
là những thay đổi mà chúng ta cần thực hiện đối với

64
00:05:18,820 --> 00:05:23,850
ứng dụng của chúng tôi để sử dụng các phiên ở vị trí của cookie đã ký.

65
00:05:23,850 --> 00:05:30,040
Hãy lưu các thay đổi và sau đó xem phiên bản này của máy chủ thể hiện của chúng tôi.

66
00:05:30,040 --> 00:05:34,480
Quay trở lại cửa sổ thiết bị đầu cuối hoặc lệnh của chúng tôi, hãy khởi động lại

67
00:05:35,600 --> 00:05:39,860
máy chủ của chúng tôi, nếu bạn là máy chủ đã chạy, chỉ cần dừng nó và khởi động lại máy chủ.

68
00:05:40,870 --> 00:05:42,730
Và sau đó một khi máy chủ hoạt động và chạy,

69
00:05:42,730 --> 00:05:48,600
chúng tôi sẽ đi đến người đưa thư và làm nếu bạn yêu cầu.

70
00:05:48,600 --> 00:05:56,350
Đi đưa thư, để tôi xóa tất cả những điều này,

71
00:05:56,350 --> 00:06:01,970
chúng tôi sẽ xóa các tiêu đề, chúng tôi sẽ xóa bỏ ủy quyền.

72
00:06:01,970 --> 00:06:03,630
Và sau đó tôi sẽ đi đến cookie, và

73
00:06:03,630 --> 00:06:08,540
tôi sẽ xóa cookie người dùng này, bởi vì cookie đó không còn hợp lệ nữa.

74
00:06:08,540 --> 00:06:16,030
Và sau đó, chúng ta hãy gửi một yêu cầu get đến, Các món ăn lưu trữ địa phương.

75
00:06:16,030 --> 00:06:21,160
Và sau đó như chúng tôi mong đợi, nó trở lại nói rằng, Bạn không được chứng thực.

76
00:06:21,160 --> 00:06:24,520
Bây giờ, vì vậy hãy xác thực chính mình bằng cách sử dụng xác thực cơ bản.

77
00:06:24,520 --> 00:06:29,483
Vì vậy, chúng tôi sẽ nói, admin, Mật khẩu.

78
00:06:29,483 --> 00:06:32,223
Và sau đó chúng tôi sẽ cập nhật yêu cầu và

79
00:06:32,223 --> 00:06:35,740
sau đó chúng tôi sẽ gửi yêu cầu GET đến cùng một điểm.

80
00:06:35,740 --> 00:06:39,400
Và sau đó, chúng tôi nhận được trả lời trở lại từ phía máy chủ của chúng tôi.

81
00:06:39,400 --> 00:06:46,000
Bây giờ, lưu ý rằng trong tiêu đề, bây giờ bạn sẽ thấy một lần nữa nó nói cookie ở đây.

82
00:06:46,000 --> 00:06:52,500
Bây giờ điều này đã được gây ra bởi các cửa hàng phiên ở đây.

83
00:06:52,500 --> 00:06:57,492
Và, khi bạn nhìn vào các cookie, bạn sẽ thấy rằng đã có một cookie khác

84
00:06:57,492 --> 00:07:02,570
được thiết lập ở đây và tên là phiên ID.

85
00:07:02,570 --> 00:07:06,398
Vì vậy, đây là tên mà chúng tôi cung cấp cho phiên của chúng tôi ở

86
00:07:06,398 --> 00:07:09,744
đó, vì vậy đó là phiên ID mà chúng tôi đang sử dụng ở đây.

87
00:07:11,172 --> 00:07:16,880
Và nếu bạn nhấp vào cookie, bạn sẽ nhận thấy rằng phiên ID là ngay đó.

88
00:07:16,880 --> 00:07:22,102
Và sau đó, đây là những chi tiết về những gì bên trong cookie đó.

89
00:07:22,102 --> 00:07:26,816
Vì vậy, bạn có thể nhận thấy một bó toàn bộ thông tin và ngày hết hạn cho

90
00:07:26,816 --> 00:07:28,940
cookie, v.v.

91
00:07:28,940 --> 00:07:33,703
Điều này có thể không có ý nghĩa gì với bạn vào lúc này, nhưng nó tồn tại ở đó.

92
00:07:33,703 --> 00:07:38,110
Bây giờ, hãy để tôi xóa giấy ủy quyền.

93
00:07:38,110 --> 00:07:42,140
Và cũng từ tiêu đề, hãy để tôi loại bỏ tiêu đề ủy quyền này.

94
00:07:42,140 --> 00:07:45,312
Và sau đó tôi sẽ gửi lại yêu cầu, và

95
00:07:45,312 --> 00:07:51,094
bạn sẽ nhận thấy rằng yêu cầu này sẽ được phục vụ chính xác ngay cả bây giờ.

96
00:07:51,094 --> 00:07:54,061
Vì thực tế là cookie này tồn tại,

97
00:07:54,061 --> 00:07:58,250
và cookie này sẽ được bao gồm trong yêu cầu đi.

98
00:07:58,250 --> 00:08:01,400
Và phía máy chủ sẽ ánh xạ điều này cho phiên thích hợp.

99
00:08:02,922 --> 00:08:07,375
Và như vậy, máy chủ nhận ra rằng đây là một người dùng được ủy quyền và

100
00:08:07,375 --> 00:08:10,042
sẽ gửi trả lời.

101
00:08:10,042 --> 00:08:17,004
Bây giờ đi đến giao diện điều khiển máy chủ của chúng tôi trong thiết bị đầu cuối hoặc cửa sổ lệnh

102
00:08:17,004 --> 00:08:23,080
, bạn nhận thấy rằng, Thông tin được in trên máy chủ phía.

103
00:08:23,080 --> 00:08:27,460
Vì vậy, nhìn thấy, bạn nhớ lại rằng tôi đã đăng nhập req.session ở đây.

104
00:08:27,460 --> 00:08:30,780
Vì vậy, đây là nơi req.session chứa ban đầu.

105
00:08:30,780 --> 00:08:36,940
Và sau đó nó nói, GET món ăn cho một không hợp lệ.

106
00:08:36,940 --> 00:08:43,620
Tại thời điểm này, bạn đang gửi tiêu đề ủy quyền thích hợp ở đó.

107
00:08:43,620 --> 00:08:48,365
Và vì vậy yêu cầu của bạn thành công đúng cách.

108
00:08:48,365 --> 00:08:53,080
Nhưng lưu ý, những gì đang được đưa ra trong phiên trong yêu cầu tiếp theo.

109
00:08:53,080 --> 00:08:58,080
Nhớ lại rằng tôi đã xóa tiêu đề ủy quyền và sau đó gửi yêu cầu.

110
00:08:58,080 --> 00:09:00,960
Nhưng lưu ý những gì rec.session chứa ở đây.

111
00:09:00,960 --> 00:09:03,088
Đặc biệt lưu ý rằng,

112
00:09:03,088 --> 00:09:08,129
nó bây giờ chứa trường người dùng này với quản trị viên tại chỗ đó.

113
00:09:09,280 --> 00:09:15,120
Vì vậy, đây là những gì máy chủ nhận được từ phía khách hàng của chúng tôi trong cookie.

114
00:09:15,120 --> 00:09:18,690
Và cookie chính nó chứa tất cả các thông tin này ở đây.

115
00:09:18,690 --> 00:09:22,987
Và như vậy, các máy chủ nhận ra rằng đây là một người dùng hợp lệ, và

116
00:09:22,987 --> 00:09:27,249
sau đó gửi lại các kết quả từ phía máy chủ đó.

117
00:09:27,249 --> 00:09:28,337
Đi đến người đưa thư,

118
00:09:28,337 --> 00:09:32,220
chúng ta hãy xem xét các chi tiết của những gì bên trong cookie.

119
00:09:32,220 --> 00:09:34,137
Vì vậy, khi bạn mở cookie ở đây,

120
00:09:34,137 --> 00:09:39,103
bạn lại thấy tất cả các chi tiết của thông tin bên trong cookie ở đây.

121
00:09:39,103 --> 00:09:43,026
Nếu bạn nhìn vào trình soạn thảo của bạn, bây giờ bạn thấy rằng trong trình soạn thảo của bạn,

122
00:09:43,026 --> 00:09:48,140
có một thư mục mới ở đây được gọi là phiên đã được tạo ra ở đây.

123
00:09:48,140 --> 00:09:52,320
Bây giờ điều này là bởi vì chúng tôi đã sử dụng tập tin lưu trữ để

124
00:09:52,320 --> 00:09:54,130
theo dõi tất cả các phiên của chúng tôi.

125
00:09:54,130 --> 00:09:58,180
Bây giờ đó là một trong những lý do tại sao tôi sử dụng kho lưu trữ tập tin để tôi có thể cho bạn thấy những gì

126
00:09:58,180 --> 00:10:03,320
được lưu trữ trong một tập tin phiên ở phía máy chủ của tôi.

127
00:10:03,320 --> 00:10:08,430
Vì vậy, nếu bạn mở tập tin này ở đây với tên dài ở đó,

128
00:10:08,430 --> 00:10:13,890
bạn sẽ thấy bên trong đó, thông tin phiên được lưu trữ ở đây.

129
00:10:13,890 --> 00:10:19,460
Vì vậy, nếu bạn duyệt thông tin phiên này, lưu ý đặc biệt,

130
00:10:19,460 --> 00:10:22,880
trường ban đầu này là ở phía máy chủ.

131
00:10:22,880 --> 00:10:27,930
Vì vậy, đây là nơi máy chủ của bạn đang theo dõi tất cả các thông tin này ở phía máy chủ.

132
00:10:27,930 --> 00:10:32,650
Bây giờ cookie này chính nó được nhận dạng bởi máy chủ,

133
00:10:32,650 --> 00:10:36,630
vì máy khách bao gồm cookie này trong yêu cầu đến.

134
00:10:36,630 --> 00:10:41,330
Bây giờ nó có thể đi vào cửa hàng phiên và sau đó lấy thông tin,

135
00:10:41,330 --> 00:10:44,870
và sau đó tải lên này vào req.sessions.

136
00:10:44,870 --> 00:10:49,800
Và do đó, req.session chứa thông tin đặc biệt này trong

137
00:10:49,800 --> 00:10:54,810
đó máy chủ của tôi đang sử dụng để kiểm tra chéo để đảm bảo rằng

138
00:10:54,810 --> 00:10:57,710
khách hàng của tôi là một khách hàng được ủy quyền.

139
00:10:57,710 --> 00:11:00,010
Đó là về các phiên.

140
00:11:00,010 --> 00:11:03,230
Với điều này, chúng tôi hoàn thành bài tập này.

141
00:11:03,230 --> 00:11:04,100
Trong bài tập này,

142
00:11:04,100 --> 00:11:08,630
chúng ta đã thấy cách chúng ta có thể thiết lập ứng dụng thể hiện của chúng tôi để sử dụng phiên.

143
00:11:08,630 --> 00:11:13,751
Và chúng tôi cũng đã thấy cách chúng tôi đang sử dụng kho lưu trữ tập tin để theo dõi các phiên của chúng tôi.

144
00:11:13,751 --> 00:11:18,360
Đây là thời điểm tốt cho bạn để làm một nhận xét GET với

145
00:11:18,360 --> 00:11:22,291
thông điệp Express phiên phần một.

146
00:11:22,291 --> 00:11:25,521
[ NHẠC]