我想将Magento数据库与我的其他网站连接以进行登录。这样用户就不需要再次注册。
对于其他网站,我没有Magento图层。只是原始的PHP mysql网站。
我想知道创建中央数据库的最佳方法是什么,以及如何从Magento数据库中检索用户信息(仅用户名和密码。)。
我正在考虑执行原始的php mysql查询,但为此我需要在我的服务器上打开端口以连接到其他服务器,因为所有网站都在不同的服务器上。
什么是最好的方法。
答案 0 :(得分:0)
为了实现SSO(单点登录),最好的办法是将所有用户迁移到Magento。
Magento文件也应该可以在外部网站上访问(如果它们位于同一台服务器上或通过安装程序。)然后您可以使用类似下面的代码:
<?php
require_once '/path/to/magento/root/app/Mage.php';
umask(0);
Mage::app();
$session = Mage::getSingleton('customer/session');
// Login
try {
$session->login($email, $password);
$session->setCustomerAsLoggedIn($session->getCustomer());
//Load the customer modules
$customer = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
//Get customer attribbutes
$customer->loadByEmail($email);
} catch (Exception $e) {
Mage::log($e->getMessage());
}
其中$ email和$ password将包含从表单发送的值