将用户存储在上下文或其他位置?

时间:2017-04-24 11:15:22

标签: go

我很难发现我是否以最好的方式思考问题。我想知道在通过某种类型的中间件BasicAuthJWT对用户进行身份验证后如何处理用户。

我应该将上下文中的所有相关用户字段存储为值吗?如果我将它们存储在上下文中,那么我需要一个特殊的功能来将它们拉出来吗? (它将使用用户定义的contextKey类型来检索并将其类型转换回正确的结构)

我可以提出一些有效的方法,但IDK是否是最合理的方式。

1 个答案:

答案 0 :(得分:1)

是的,context.Context专门用于请求范围的变量等。 (注意,根据请求,因此不适合存储您在请求之间访问的数据;为此您应该考虑某种会话机制)

context.Value(key interface{}) interface{}接口函数是您从上下文中检索值的方法。