Sugarcrm magento常见登录

时间:2011-02-05 10:52:36

标签: php authentication magento single-sign-on sugarcrm

我正在整合SugarCRM和Magento。我的要求是当我点击SugarCRM中的链接时,它应该重定向到Magento管理面板订单创建。此外,当我重定向到Magento时,它不应该要求我登录。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

无缝登录Sugar非常简单。下面是一个创建绕过Sugar登录的链接的示例。当您登录Magento时,您可以登录Sugar并将Sugar会话变量存储在服务器会话变量或全局变量中。这是SugarCRM URL的格式

的“http://本地主机:8080 / XXX / index.php的模块=帐户与行动=的DetailView&安培;记录= 927e722c-0d8a-e6b1-c590-4c9bb6c4e34b $ MSID

  1. http://localhost:8080/XXX/index.php - 网址
  2. module =帐户(您要链接到的模块名称
  3. action = DetailView(您可以转到DetailView或EditView)
  4. record = 927e722c-0d8a-e6b1-c590-4c9bb6c4e34b(糖ID记录号)
  5. MSID = 3979359348(无缝登录后获得的会话变量)
  6. 您必须扩展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>";
    

    卡兹

答案 1 :(得分:0)

之前我没有特别使用SugarCRM,但这些解决方案的一般要点是保持两个用户数据库同步(相同的用户名和密码)。然后,当用户登录到一个系统时,向另一个系统发送请求以同时登录。