我得到会话,来自我曾经使用过的 PHP
<?php
session_start();
$_SESSION["key"] = "val";
echo $_SESSION["key"];
?>
在服务器端设置一个或多个键及其值,并能够检索或覆盖它,直到会话到期。
与大猩猩/会话相同
var(
sessionStore *sessions.CookieStore
sessionSecret []byte = make([]byte, 64)
session *sessions.Session
)
func init(){
sessionSecret = []byte("12345678901234567890123456789012")
sessionStore = sessions.NewCookieStore(sessionSecret)
session = sessions.NewSession(sessionStore, "session_name")
}
func SetSessionHandler(w http.ResponseWriter, r *http.Request) {
session, _ = sessionStore.Get(r, "session_name")
session.Values["key"] = "val"
session.Save(r, w)
}
func GetSessionHandler(w http.ResponseWriter, r *http.Request) {
session, _ = sessionStore.Get(r, "session_name")
fmt.FPrintln(session.Values["key"])
}
现在我不明白大猩猩/上下文的意义是什么。我知道上下文是什么,但是...我不知道它如何适应大局。它说它绑定到当前请求。stackoverflow 上的另一个问题是在编写 Per-Handler Middleware的上下文中“仅使用 gorilla/context 就足够了” 。
但如果它是请求绑定... err.. 语法错误,则不计算。如果鸭子漂浮在水面上,那么女巫是用木头制成的。而且因为鸭子也能浮在水面上,如果她的体重和鸭子一样,她一定是个女巫。或类似的东西 ;)
当它是请求绑定的时候,它作为一个中间件“管理器”怎么能有用,我不能在全局范围内设置它。您能否举例说明如何将 gorilla/sessions 与 gorilla/context 一起使用?