php - Sugarcrm magento 通用登录

标签 php authentication magento single-sign-on sugarcrm

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

我怎样才能做到这一点?

最佳答案

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

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

  1. http://localhost:8080/XXX/index.php - 网址
  2. module=Accounts(您要链接到的模块名称
  3. action=DetailView(您可以转到 DetailView 或 EditView)
  4. record=927e722c-0d8a-e6b1-c590-4c9bb6c4e34b(糖 ID 记录号)
  5. MSID=3979359348(无缝登录后获取的Session变量)

您必须扩展 Magento 才能将此信息添加到链接中。如果您将 MSID 存储在 session 变量中,那么您始终可以将 $_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>";

卡兹

关于php - Sugarcrm magento 通用登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906431/

相关文章:

git - 通过 HTTP 和 SSL 验证的 Git 克隆问题

php - 在同一查询中搜索所有内容

javascript - Twitter 事件触发但没有实际事件

rest - 如何延长文档数据库 REST API 资源 token 的有效期

php - 无需身份验证即可识别唯一用户

php - Magento - 如何查询管理员的角色名称?

PHP - 访问使用 C++ 创建的共享内存

php - 获取每行的总无数据

Magento 基本 url 在数据库中更改,未反射(reflect)在前端

Amazon EC2 上的 MySQL/Magento 性能问题