- Go Web Development Cookbook
- Arpit Aggarwal
- 303字
- 2021-08-27 19:01:21
How it works…
Once we run the program, the HTTP server will start locally listening on port 8080.
Next, we will execute a couple of commands to see how the session works.
First, we will access /home by executing the following command:
$ curl -X GET http://localhost:8080/home
This will result in an unauthorized access message from the server as shown in the following screenshot:

This is because we first have to log in to an application, which will create a session ID that the server will validate before providing access to any web page. So, let's log in to the application:
$ curl -X GET -i http://localhost:8080/login
Executing the previous command will give us the Cookie, which has to be set as a request header to access any web page:

Once the previous command is executed, a Cookie will be created and saved in Redis, which you can see by executing the command from redis-cli or in the Redis Browser, as shown in the following screenshot:

Next, we will use the Cookie provided to access /home, as follows:
$ curl --cookie "session-name=MTUyMzEwNDUyM3xOd3dBTkV4T1JrdzNURFkyUkVWWlQxWklUekpKVUVOWE1saFRUMHBHVTB4T1RGVXlSRU5RVkZWWk5VeFNWVmRPVVZSQk4wTk1RMUU9fAlGgLGU-OHxoP78xzEHMoiuY0Q4rrbsXfajSS6HiJAm;" http://localhost:8080/home
This results in the Home Page as a response from the server:

Let's understand the changes we introduced in this recipe:
- Using var store *redisStore.RediStore, we declared a private RediStore to store sessions in Redis.
- Next, we updated the init() function to create NewRediStore with a size and maximum number of idle connections as 10, and assigned it to the store. If there is an error while creating a store, then we log the error and exit with a status code of 1.
- Finally, we updated main() to introduce the defer store.Close() statement, which closes the Redis store once we return from the function.
- 網(wǎng)絡(luò)教育學(xué)習(xí)指導(dǎo)
- 物聯(lián)網(wǎng)短距離無線通信技術(shù)應(yīng)用與開發(fā)
- EDA技術(shù)與VHDL編程
- MERN Quick Start Guide
- SEO 20日
- 網(wǎng)絡(luò)故障現(xiàn)場處理實踐(第4版)
- Oracle SOA Suite 11g Performance Tuning Cookbook
- 物聯(lián)網(wǎng)概論(第2版)
- 互聯(lián)網(wǎng)基礎(chǔ)資源技術(shù)與應(yīng)用發(fā)展態(tài)勢(2021—2023)
- 互聯(lián)網(wǎng)安全的40個智慧洞見:2014年中國互聯(lián)網(wǎng)安全大會文集
- Getting Started with WebRTC
- 射頻通信系統(tǒng)
- 物聯(lián)網(wǎng)技術(shù)與應(yīng)用
- 6G新技術(shù) 新網(wǎng)絡(luò) 新通信
- 搶占下一個智能風(fēng)口:移動物聯(lián)網(wǎng)