Хранение данных сеанса в базе данных в Pyramid с использованием мензурки

Я создаю веб-приложение в Pyramid, и оно требует входа пользователя. База данных является базой данных MySQL, подключенной через SQLAalchemy.

В Pyramid есть введение в использование мензурки для сессий, но она показывает только то, как ее настроить с помощью файлов. Я не мог выяснить, как сохранить данные сеанса в базе данных (я думаю, что это должно быть возможно), поскольку с тех пор у меня было бы только одно место, где бы хранились мои переменные данные.

1 ответ

Решение

Я нашел это. Поместите что-то вроде этого в свой конфигурационный файл (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

Я не знаю, возможно ли (или разумно) поставить блокировку на БД, но сессии должны жить в БД, как это. Вам нужно будет позаботиться об удалении старых сеансов из БД самостоятельно (но я думаю, что это также относится и к файлам).

Другие вопросы по тегам