我希望能夠在現有客戶自動登錄到Magento的,然後將其重定向到現場的Magento網站,登錄,這是在同一臺服務器上的兩個子域之間。登錄將發生在app.mydomain.com(它本身只是一個PHP應用程序;不是Magento站點),然後Magento安裝位於shop.mydomain.com。用戶登錄到Magento的編程
我已經試過這幾打排列,沒有運氣。這裏是我當前的代碼:
// Include Magento app
require_once(config::$magento_root . '/app/Mage.php');
Varien_Profiler::enable();
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
umask(0);
Mage::app('default');
// Initialize Magento session
Mage::getSingleton('core/session', array('name' => 'frontend'));
// Get instance of customer model for the actual website
$customer = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
// Load the client with the appropriate email
$customer->loadByEmail($email_address);
// Get a customer session
$session = Mage::getSingleton('customer/session');
// Login and check the customer by his uid
$session->loginById($customer->getId());
// Redirect to shop home page
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getBaseUrl())->sendResponse();
這確實設法登錄($session->loginById()
回報1
)的用戶,但在重定向,客戶再次註銷。我在嘗試使用session_destroy()
之前已經試過了;我試過改變Magento的cookie域到.mydomain.com
,但沒有任何工作。這甚至有可能嗎?
我不認爲它會這樣工作。你可能需要創建一些散列,通過GET參數傳遞給其他服務器,然後將它們記錄在那裏。 –
商店是否在同一個Magento實例上運行?還是有兩個不同的實例在同一臺服務器上運行? –
哦,我應該提到...我的應用程序(在app.mydomain.com)不是Magento商店。這是一個自定義的PHP應用程序(問題更新)。我試圖從那裏登錄到Magento,正如我所說的那樣,直到我真正重定向到Magento網站。 –