Общий логин Sugarcrm magento

Я интегрирую SugarCRM и Magento. Мое требование: когда я нажимаю на ссылку в SugarCRM, она должна перенаправлять на создание заказа в панели администратора Magento. Более того, когда я перенаправляюсь на Magento, он не должен спрашивать меня о входе в систему.

Как я могу это сделать?


person user603666    schedule 05.02.2011    source источник


Ответы (2)


Бесшовный вход в Sugar довольно прост. Ниже приведен пример создания ссылки, обходящей вход в Sugar. Когда вы входите в Magento, вы можете войти в Sugar и сохранить переменную сеанса Sugar в переменной сеанса сервера или глобальной переменной. Вот формат URL-адреса SugarCRM

'http://localhost:8080/XXX/index.php?module=Accounts&action=DetailView&record=927e722c-0d8a-e6b1-c590-4c9bb6c4e34b$MSID

  1. http://localhost:8080/XXX/index.php – URL
  2. module=Accounts (имя модуля, на который вы хотите связать
  3. action=DetailView (вы можете перейти либо к DetailView, либо к EditView)
  4. record=927e722c-0d8a-e6b1-c590-4c9bb6c4e34b (номер записи Sugar ID)
  5. MSID=3979359348 (переменная сеанса, полученная после беспрепятственного входа в систему)

Вам нужно будет расширить Magento, чтобы добавить эту информацию в ссылку. Если вы храните MSID в переменной сеанса, вы всегда можете добавить $_SESSION['MSID'] к URL-адресу.

$user_name="admin";
$user_password="admin";


$soapClient = new SoapClient(NULL,
array(
"location" => 'http://localhost:8080/XXX/soap.php',
"uri" => 'http://localhost:8080/XXX',
)
);

try {
    $info = $soapClient->login(
    array(
    'user_name' => $user_name,
    'password'  => md5($user_password),
    )
    );
}
catch (SoapFault $fault) {
    die("Sorry, the service returned the following ERROR: ".$fault->faultcode."-".$fault->faultstring.".");
}

$session = $info->id;

$canlogin = $soapClient->seamless_login($session);
$MSID='';
if ($canlogin == 1)
$MSID =  "&MSID=" . $session;





//echo "Successful Login! Session ID {$session}<br>";

echo "<a href='http://localhost:8080/XXX/index.php?module=Accounts&action=DetailView&record=927e722c-0d8a-e6b1-c590-4c9bb6c4e34b$MSID'>Account Name</a>";

Каз

person Kaz    schedule 05.02.2011

Я раньше не использовал SugarCRM, но общий смысл этих решений заключается в том, чтобы синхронизировать две базы данных пользователей (одинаковые имена пользователей и пароли). Затем, когда пользователь входит в одну систему, отправьте запрос на вход в другую систему одновременно.

person Joseph Mastey    schedule 05.02.2011
comment
для этого также потребуется совместное использование одного и того же семени. - person Joseph Le Brech; 28.03.2011