python – 如何使用多个服务器进行Flask登录

我一直在使用
Flask login module,它在服务器上创建和维护会话.

由于服务器维护会话,我认为它不是完全无状态的.当应用程序有多个服务器时,它是如何工作的.请求是否应该是粘性的(即,给定的会话应该向特定服务器发出后续请求)?

解决方法

您所做的这个陈述并不完全正确:

… which creates and maintains session on the server.

Flask-Login使用Flask提供的会话功能,因此它存储在会话中的数据将由Flask使用配置的会话存储机制编写.

默认情况下,Flask将用户会话作为安全cookie写入客户端,但也可以在服务器上进行会话.例如,此snippet显示了如何配置Flask以在服务器端Redis存储上写入会话.

当用户会话存储在客户端cookie中时,很明显拥有多个服务器不是问题. cookie将被发送到处理每个请求的服务器,所以一切都会正常工作.

对于服务器端会话,这也适用.服务器端会话在唯一标识符下写入,然后将此唯一标识符存储在客户端cookie中.然后每个请求都带有会话ID,Flask使用此ID加载会话数据.如果将所有Web服务器配置为使用相同的用户会话存储,则多个服务器可以处理来自同一客户端的请求而不会出现问题.

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章