0

ログイン目的で、Magento データベースを他の Web サイトに接続したいと考えています。ユーザーが再度登録する必要がないようにします。

他の Web サイトでは、Magento レイヤーがありません。生の PHP mysql Web サイトです。

中央データベースを作成する最善の方法と、Magento データベースからユーザー情報 (ユーザー名とパスワードのみ) を取得する方法を考えています。

生のphp mysqlクエリを実行することを考えていますが、そのためにはサーバーのポートを開いて他のサーバーに接続する必要があります。これは、すべてのWebサイトが異なるサーバー上にあるためです。

最善のアプローチは何でしょうか。

4

1 に答える 1

0

SSO (シングル サインオン) を実現するための最善の方法は、すべてのユーザーを Magento に移行することです。

Magento ファイルは、外部 Web サイトからもアクセスできる必要があります (同じサーバー上にある場合、またはマウントを介している場合)。その後、以下のコードのようなものを使用できます。

<?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 には、フォームから送信される値が含まれます。

于 2012-06-26T07:40:20.183 に答える