我正在 Pyramid 中构建一个 Web 应用程序,它需要用户登录。数据库后端是通过 SQLAalchemy 连接的 MySQL 数据库。
Pyramid 有关于使用烧杯进行会话的介绍,但它只显示如何使用文件配置它。我不知道如何在数据库中存储会话数据(我认为这应该是可能的),因为那时我只有一个地方可以存储我的不同数据。
我正在 Pyramid 中构建一个 Web 应用程序,它需要用户登录。数据库后端是通过 SQLAalchemy 连接的 MySQL 数据库。
Pyramid 有关于使用烧杯进行会话的介绍,但它只显示如何使用文件配置它。我不知道如何在数据库中存储会话数据(我认为这应该是可能的),因为那时我只有一个地方可以存储我的不同数据。
我找到了。在你的配置文件(development.ini/production.ini)中加入类似的内容
session.type=ext:database
session.secret=someThingReallyReallySecret
session.cookie_expires=true
session.key=WhatEver
session.url=mysql://user:password@host/database
session.timeout=3000
session.lock_dir=%(here)s/var/lock
我不认为是否有可能(或明智)也将锁定锁定到数据库,但会话应该像这样存在于数据库中。您需要注意自己从数据库中删除旧会话(但我认为在使用文件时也是如此)。