上下文在flask应用程序中,我们对用户数据使用签名cookie(编码jwt),但是数据量太大,无法放入cookie(每个项目的特定权限)。redis来了,我们不再将权限存储在jwt中并来回传递,而是将其保存在redis中。我的问题是有签名会话cookie(编码jwt)和使用redis存储其他会话信息有什么好处吗自己实现会话逻辑比使用类似flask session的东西更好吗
lztngnrs1#
即使你用 Redis 要存储会话,您仍然需要cookie,因为您需要按密钥进行查询,并且密钥将位于cookie的客户端。您可以只将标识符保存在cookie中,而将其余的存储在redis中,然后通过该标识符获得详细信息。我认为将一些长的、难以理解的标识符作为密钥,而不是一些整数或任意的短文本,是安全的。我不太熟悉 flask 但是,对 session 对于年份(get、set、expire、delete)几乎是相同的,而且该库可能支持与会话相关的用例的所有需求。我会使用现有的,而不是实施新的。
Redis
flask
session
uz75evzq2#
jwt主要用于分布式应用程序,其中令牌由不同的应用程序生成和使用。因此,如果所有的处理都发生在一个后端上,redis就更灵活了。实现自己的会话逻辑可能不是一个好主意,尤其是当会话用于安全目的(身份验证)时。
2条答案
按热度按时间lztngnrs1#
即使你用
Redis
要存储会话,您仍然需要cookie,因为您需要按密钥进行查询,并且密钥将位于cookie的客户端。您可以只将标识符保存在cookie中,而将其余的存储在redis中,然后通过该标识符获得详细信息。
我认为将一些长的、难以理解的标识符作为密钥,而不是一些整数或任意的短文本,是安全的。
我不太熟悉
flask
但是,对session
对于年份(get、set、expire、delete)几乎是相同的,而且该库可能支持与会话相关的用例的所有需求。我会使用现有的,而不是实施新的。uz75evzq2#
jwt主要用于分布式应用程序,其中令牌由不同的应用程序生成和使用。因此,如果所有的处理都发生在一个后端上,redis就更灵活了。实现自己的会话逻辑可能不是一个好主意,尤其是当会话用于安全目的(身份验证)时。