Go Gorilla Mux 会话名称

huangapple go评论93阅读模式
英文:

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()始终返回一个会话,即使是空的。
    session, _ := store.Get(r, "session-name")
    // 设置一些会话值。
    session.Values["foo"] = "bar"
    session.Values[42] = 43
    // 保存会话。
    session.Save(r, w)
}

我想使用会话来避免在两个处理程序之间使用全局变量。因此,我将键值保存在共享会话中,并从会话中检索值。

我想知道,如果我希望每个用户都有自己独特的会话和Values,我是否需要分配唯一的会话名称(会话ID)?还是Gorilla会话自己处理每个用户获取自己的会话和值?

我想知道是否需要生成具有唯一标识符的会话名称。

谢谢。

英文:

I am having a hard time understanding Gorilla mux's session name.

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)
}

I want to use session to avoid using global variables between two handlers. So I save the key-value in the shared session and retrieve the value from the session.

And I wonder if I want each user to have its own unique session and its Values, do I need to assign unique session name(session id)? Or the gorilla session handles by itself that each user gets its own session and values?

I wonder if I need to generate session names with unique identifiers.

Thanks

答案1

得分: 7

会话数据存储在客户端的 cookie 中。因此,使用 store.Get(r, "session-name") 检索到的会话是读取特定客户端(请求)的 cookie。你不需要唯一的名称。在这种情况下,名称是 cookie 的名称,因此它将对请求是唯一的。

英文:

The session data is stored in the client's cookies. So the session you retrieve with store.Get(r, "session-name") is reading that particular client't (request) cookies. You do not need unique names. The name in this case is the name of the cookie so it will be unique to the request.

huangapple
  • 本文由 发表于 2015年3月3日 03:25:57
  • 转载请务必保留本文链接:https://go.coder-hub.com/28817869.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定