Как избежать повторного входа в систему с помощью securesocial on play framework 2?

Я использую «SecureSocial» для аутентификации в своем проекте. У меня есть проблема, на которую наполовину ответили при переполнении стека. Всякий раз, когда я обновляю свой проект (из-за изменения файла и т. д.), я должен повторно войти в систему. Ниже приведены сопутствующие вопросы:

  1. Выход из securesocial при компиляции и на кластерных серверах

  2. безопасный поддельный вход в систему при разработке

По обоим вопросам в этом виновата служба SampleUserService, работающая в памяти. Я могу понять, что. В моем случае я реализовал свой собственный UserService, который сохраняет информацию о входе пользователя в базу данных (я знаю это, потому что при обновлении проекта мне не нужно повторно регистрироваться, а нужно только войти в систему). Это довольно раздражает и отнимает много времени при разработке. Чтобы преодолеть это, кто-то предоставил ответ на второй вопрос. следующим образом:

«SecureSocial по умолчанию использует кэш Play по умолчанию для хранения аутентификаторов (которые сопоставляют файлы cookie с вошедшим в систему пользователем). Кэш воспроизведения по умолчанию — EHCache, и он настроен с использованием файла ehcache.xml, который вы можете найти в jar-файлах. Конфигурация по умолчанию — строго в памяти, что означает, что когда приложение перезапускается, оно теряет все значения. К счастью, довольно легко перезаписать конфигурацию EHCache для записи на диск».

В связи с вышеизложенным у меня возникли следующие вопросы:

  1. Предположим, что я оставляю настройки EHCache без изменений, а это означает, что при любом обновлении приложения требуется новый вход в систему. Теперь предположим, что у вас есть 500 000 пользователей (активных и вошедших в систему) на 10 разных машинах, и вы хотите выполнить развертывание. Означает ли это, что все мои 500 000 должны будут снова войти в систему? Я не думаю, что это реальность, потому что мы несколько раз в неделю или месяц выходили из Facebook или LinkedIn и т. д.... Может кто-нибудь объяснить?

  2. Предположим, что я делаю то, о чем сказано выше (изменение настроек по умолчанию для EHCache). что означает сохранение кеша. Это правильный/хороший способ начать производство? это просто обходной путь для проблемы, упомянутой во время разработки, и не должен запускаться в производство. Если он не должен пойти в производство, то я правильно понимаю, что все мои 500 000 должны будут снова войти в систему?

Если я что-то упустил, пожалуйста, скажите мне. Возможно, мои вопросы возникают из-за отсутствия у меня знаний о безопасном социальном плагине. Спасибо


person Hossein    schedule 04.03.2014    source источник
comment
Под развертыванием вы подразумеваете развертывание новой версии? Почему вы потеряете кеш во время повторного развертывания?   -  person František Hartman    schedule 05.03.2014
comment
Если вы сделаете кеш постоянным или развернете узел за узлом, тогда информация о пользователях останется в кеше, и до тех пор, пока ее можно снова десериализовать (это невозможно, например, между версиями безопасного социального плагина), ваши пользователи останутся зарегистрированными. в.   -  person František Hartman    schedule 05.03.2014