CakePHP аутентификация сессии сеанса - PullRequest
1 голос
/ 09 февраля 2012
  1. Мы используем Cakephp Framework версии 2.0.6
  2. Сайт "должен" позволить анонимному пользователю "добавить в корзину".
  3. Мы находимсяиспользование идентификатора сеанса (с использованием собственного класса сеанса cake) для хранения информации анонимного пользователя в таблице базы данных.
  4. Когда пользователь отправляется на оформление заказа, тогда мы хотим спросить: " Вы текущий участник?Если это так, нажмите «Да», чтобы войти или «Нет», чтобы создать учетную запись."

ВЫПУСК:

Независимо от того, что они выберут,пользователь либо должен войти в систему, либо создать нового пользователя / пароль (и затем войти), который заставляет cakephp сгенерировать идентификатор сеанса.Это делает невозможным в новом сеансе захватывать то, что этот пользователь добавил в корзину, когда он был анонимным всего за 5 минут до этого.Другими словами, идентификатор сеанса анонимного пользователя изменяется между тем, когда он является анонимным, и после того, как он входит в систему / создает пользователя, что делает невозможным идентификацию его корзины после входа в систему.

Есть ли способ предотвратить регенерацию cakephpсеанс в этом сценарии или лучший способ выполнить то, что мы пытаемся сделать, сохраняя при этом наш поток заказов (то есть анонимное разрешение на добавление в корзину перед входом / созданием) ?

1 Ответ

1 голос
/ 09 февраля 2012

Именно по этой причине корзины покупок чаще всего хранятся в файлах cookie. Таким образом, вы можете легко получить сохраненную информацию после аутентификации.

Если вы настаиваете на использовании сеансов для хранения этих данных, подумайте о том, чтобы установить для параметра Security.level значение «низкий». Это должно помешать CakePHP сгенерировать идентификатор сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...