繁体   English   中英

在 Go 中进行设计会话的最佳方法? [关闭]

[英]Best way to approach designing sessions in Go? [closed]

我对 Golang 很陌生。 目前正在开发一个使用 Go 模板作为 web 前端的应用程序。 还有一个使用net/http package 开发的 API。 我想为一个上传表单设计一个 session。 API 层的身份验证机制是使用 JWT 完成的。 现在我需要一种方法来了解模板内部是否用户有 session,以便能够决定是否使用模板显示一个页面片段。 我想我会将当前用户包含在我传递给模板的数据中,所以这很好。

现在,问题是如何维护一个session到期? 我看到了使用全局变量sessions的示例。 因此,在登录请求中,如果用户通过身份验证,则将新 session 添加到sessions map。 注销时, session 将从全局变量(比如说 map)中删除。 但是,这似乎不是一个可扩展的解决方案。 如果有几十万个会话,它很快就会吃掉memory?!

有人可以推荐一个更好的方法吗? 也许使用一些 package,或者可能将会话存储到 Redis?

另外,我知道 cookie 通常用于在浏览器和服务器之间传递 session id。 仅在请求标头中传递 JWT 令牌是否可以?

提前致谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM