Я использую Clearance для аутентификации в приложении Rails 5, и мне интересно, какой лучший способ хранить важные (для приложения) данные пользователя? Сейчас я храню его в сеансе, переопределяя Clearance::SessionsController
, но я беспокоюсь о том, что пользователь возвращается к приложению, а сессия создается из remember_token
.Добавление дополнительных данных в файл cookie Clearance?
Должен ли я просто добавить его в файл cookie для настойчивости на всех сеансах? Или есть способ сохранить его в cookie Clearance? Еще лучше, есть ли способ, чтобы Clearance добавлял необходимые данные в сессию при ее создании из remember_token
?
В принципе, мой вопрос сводится к тому, что это правильное использование SignInGuard. – dhagerty
Неясно, о какой важной информации вы говорите. Есть ли причина, по которой вам нужно получить это из сеанса, а не получить доступ к нему из 'current_user', разрешение которого дает вам помощника в контроллерах и представлениях? –
Я сохраняю идентификаторы записей, связанных с соответствующей записью, и я бы предпочел не называть 'current_user.associated_record.another_record' в представлениях. Поэтому я сохраняю идентификаторы в сеансе, поэтому я могу установить переменные экземпляра для записей. Я пытаюсь избежать привязки тонны методов к 'current_user'. – dhagerty