Go Gorilla Mux 会话名称
Go Gorilla Mux Session Name
我很难理解 Gorilla mux
的会话名称。
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)
}
我想使用会话来避免在两个处理程序之间使用全局变量。所以我将键值保存在共享会话中并从会话中检索值。
而且我想知道我是否希望每个用户都有自己独特的会话及其 Values
,我是否需要分配唯一的会话名称(会话 ID)?或者 gorilla session 自己处理,每个用户都有自己的 session 和值?
我想知道我是否需要生成具有唯一标识符的会话名称。
谢谢
会话数据存储在客户端的 cookie 中。因此,您使用 store.Get(r, "session-name")
检索的会话正在读取特定客户端的(请求)cookie。您不需要唯一的名称。本例中的名称是 cookie 的名称,因此它对于请求是唯一的。
我很难理解 Gorilla mux
的会话名称。
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)
}
我想使用会话来避免在两个处理程序之间使用全局变量。所以我将键值保存在共享会话中并从会话中检索值。
而且我想知道我是否希望每个用户都有自己独特的会话及其 Values
,我是否需要分配唯一的会话名称(会话 ID)?或者 gorilla session 自己处理,每个用户都有自己的 session 和值?
我想知道我是否需要生成具有唯一标识符的会话名称。
谢谢
会话数据存储在客户端的 cookie 中。因此,您使用 store.Get(r, "session-name")
检索的会话正在读取特定客户端的(请求)cookie。您不需要唯一的名称。本例中的名称是 cookie 的名称,因此它对于请求是唯一的。