2017-02-28 62 views
0

我遇到了一個問題,其中一個Magento網站完全正常工作,https只爲結帳頁面啓用,但如果我將主要的不安全地址設置爲https,以便整個網站都在https登錄進程中斷。Magento前端登錄破壞https

客戶可以輸入他們的詳細信息,然後重定向回主頁,但沒有被登錄。

管理區是不受這一點,並繼續作爲正常

作爲一個說明,網站生活在主公司的子域名trade.mydomain.co.uk

我已經在管理面板的Cookie部分嘗試了很多不同的設置,例如將Cookie生存期設置爲零,將Cookie域以及這個'修復'客戶/模型/ 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。英國。 我試着設置cookie路徑到/和像trade.mydomain更復雜的路徑

現在非常困惑,該網站完全在HTTP上運行,管理區域完美地處理HTTPS。只有在將不安全域設置爲https時,問題纔會開始。非常滿意的網站https是一項要求。

回答

-1

創建目錄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->renewSession();部分,使它看起來像使用//評論。得到的編碼看起來像這樣

公共職能setCustomerAsLoggedIn($customer)

{ 
    $this->setCustomer($customer); 
    //$this->renewSession(); 
    Mage::dispatchEvent('customer_login', array('customer'=>$customer)); 
    return $this; 
} 

現在,清理掉所有登錄的Cookie。根據我的希望,它會爲你工作。

+0

如果您已閱讀完整的文章,您會看到我已經嘗試過修復 – Matthew