Php https上的Magento前端登录已中断
我遇到了一个问题,Magento站点只在签出页面上启用https,但如果我将主不安全地址设置为https,使整个站点都在https上,登录过程就会中断 客户可以输入其详细信息,然后重定向回主页,但无需登录 管理区域不受此影响,并继续正常运行 请注意,该网站位于主要公司url trade.mydomain.co.uk的子域中 我在管理面板的cookie部分尝试了很多不同的设置,例如将cookie生存期设置为零、更改cookie域等,以及对Customer/Model/Session.php的“修复”Php https上的Magento前端登录已中断,php,magento,session,cookies,magento-1.9,Php,Magento,Session,Cookies,Magento 1.9,我遇到了一个问题,Magento站点只在签出页面上启用https,但如果我将主不安全地址设置为https,使整个站点都在https上,登录过程就会中断 客户可以输入其详细信息,然后重定向回主页,但无需登录 管理区域不受此影响,并继续正常运行 请注意,该网站位于主要公司url trade.mydomain.co.uk的子域中 我在管理面板的cookie部分尝试了很多不同的设置,例如将cookie生存期设置为零、更改cookie域等,以及对Customer/Model/Session.php的“修复
public function setCustomerAsLoggedIn($customer)
{
$this->setCustomer($customer);
//$this->renewSession();
Mage::dispatchEvent('customer_login', array('customer'=>$customer));
return $this;
}
上面的修复允许客户登录,但一旦加载任何其他页面,它们就会再次被踢出
至于管理区域中的cookie设置,我已尝试将生存期更改为0,我已尝试将cookie域设置为.mydomain.co.uk、mydomain.co.uk、trade.mydomain.co.uk。
我尝试将cookie路径设置为/和更复杂的路径,如trade.mydomain
现在真的很困惑,这个站点在HTTP上运行得非常完美,管理区域在HTTPS上运行得非常完美。只有当我将不安全域设置为https时,问题才会出现。不幸的是,需要完整的站点https。创建目录app/code/local/Mage/Customer/Model,然后将Session.php文件复制到其中。Session.php文件存储在以下路径app/code/core/Mage/Customer/Model 一旦将文件移动到指定位置,请尝试查找此部分:
public function setCustomerAsLoggedIn($customer)
{
$this->setCustomer($customer);
$this->renewSession();
Mage::dispatchEvent('customer_login', array('customer'=>$customer));
return $this;
}
现在,关注$this->rendersession;节,并使用//使其看起来像注释。结果编码将如下所示
公共函数setCustomeraLoggedin$customer
现在,清除所有登录cookie。我希望它能对你起到最大的作用。如果你读了全文,你会发现我已经试过了
{
$this->setCustomer($customer);
//$this->renewSession();
Mage::dispatchEvent('customer_login', array('customer'=>$customer));
return $this;
}