Rails ActiveRecord Session - PullRequest
       28

Rails ActiveRecord Session

3 голосов
/ 08 марта 2011

Я использую ActiveRecord Session Store, и у меня есть несколько вопросов относительно использования этого хранилища.

Я могу легко создать модель для доступа к любому сеансу напрямую (из консоли, а не как контроллер или что-то еще):

class Session < ActiveRecord::Base
end

Затем я могу получить доступ и декодировать содержимое сессий, например,

Marshal.load(ActiveSupport::Base64.decode64(Session.first)

Но мне любопытно, почему я не могу найти многих других людей, делающих этоТакие вещи?По крайней мере, я хотел бы, по крайней мере, иметь работу по удалению сеансов с истекшим сроком, чтобы таблица сеансов не увеличивалась и не увеличивалась.Я также храню несколько полей в сессиях, которые важны для логики приложения.Вполне возможно, что в какой-то момент мне захочется выполнить некоторую задачу обслуживания с помощью логики, основанной на декодированных данных сеанса.Является ли этот тип хранилища табу на дизайн?

Я надеюсь, что кто-то, у кого есть больше опыта в управлении приложениями для рабочих рельсов, может попытаться ответить на некоторые из этих вопросов или хотя бы рассказать о том, как они используют сеансы.

Спасибо.

edit: Я только что понял, что хранилище данных сеанса закодировано в Base64 и никак не зашифровано.

1 Ответ

0 голосов
/ 08 марта 2011

Я бы не рекомендовал хранить данные в куки.Посмотрите на ActiveRecord хранилище для сессий.Он хранит ключ в куки пользователя, который ссылается на запись в БД.

...