我很难确定自己是否以最佳方式思考问题。我想知道在通过某种类型的中间件(BasicAuth
或 JWT
)对用户进行身份验证后如何处理用户。
我应该将所有相关的用户字段作为一个值存储在上下文中吗?如果我将它们存储在上下文中,那么我需要一个特殊的函数来提取它们吗? (这将使用用户定义的 contextKey 类型来检索并将其类型转换回正确的结构)
我可以想出一些可行的方法,但我不知道这是不是最合理的方法。
最佳答案
是的,context.Context专门用于请求范围的变量等。 (注意,每个请求,因此不适合存储您打算在请求之间访问的数据;为此您应该考虑某种 session 机制)
context.Value(key interface{}) 接口(interface){}
接口(interface)函数是您从上下文中检索值的方式。
关于go - 将用户存储在上下文中或其他地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43586607/