我很难理解 Gorilla mux
的 session 名称。
http://www.gorillatoolkit.org/pkg/sessions#CookieStore.Get
var store = sessions.NewCookieStore([]byte("something-very-secret"))
func MyHandler(w http.ResponseWriter, r *http.Request) {
// Get a session. We're ignoring the error resulted from decoding an
// existing session: Get() always returns a session, even if empty.
session, _ := store.Get(r, "session-name")
// Set some session values.
session.Values["foo"] = "bar"
session.Values[42] = 43
// Save it.
session.Save(r, w)
}
我想使用 session 来避免在两个处理程序之间使用全局变量。因此,我将键值对保存在共享 session 中并从 session 中检索值。
而且我想知道如果我希望每个用户都有自己独特的 session 及其Values
,我是否需要分配唯一的 session 名称( session ID)?或者 gorilla session 自行处理,每个用户都有自己的 session 和值?
我想知道我是否需要生成具有唯一标识符的 session 名称。
谢谢
最佳答案
session 数据存储在客户端的 cookie 中。因此,您使用 store.Get(r, "session-name")
检索的 session 正在读取特定客户端的(请求)cookie。您不需要唯一的名称。本例中的名称是 cookie 的名称,因此它对于请求来说是唯一的。
关于session - Go Gorilla Mux session 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28817869/