cakephp auth session再生

时间:2012-02-09 05:56:11

标签: cakephp

  
      
  1. 我们正在使用Cakephp框架版本2.0.6
  2.   
  3. 该网站“应该”允许匿名用户“添加到购物车”。
  4.   
  5. 我们使用会话ID(使用cake的本地会话类)将匿名用户的信息存储在db表中。
  6.   
  7. 当用户结账时,我们想询问“您是当前会员吗?如果是,请单击是以登录,或选择否以创建帐户。
  8.   

ISSUE:

无论用户选择什么,用户都必须登录,或者创建新的用户/通行证(然后登录),这会导致cakephp重新生成会话ID。这使得在新会话中无法抓住用户在5分钟前匿名时添加到购物车中的内容。换句话说,匿名用户的会话ID在匿名时和登录/创建用户之间发生变化,从而无法在登录后识别他们的购物车。

有没有办法阻止cakephp在这种情况下重新生成会话,或者是一种更好的方法来完成我们正在尝试做的事情,同时仍保持我们的订单流(即:匿名允许添加到购物车,在登录/创建之前)

1 个答案:

答案 0 :(得分:1)

正是这个原因,购物车往往存储在Cookies中。这样,您可以在身份验证后轻松检索保存的信息。

如果您坚持使用Sessions存储此数据,请考虑将Security.level设置为“low”。这应该会阻止CakePHP重新生成会话ID。