【问题标题】:Retrieve the Session ID From SugarCRM从 SugarCRM 检索会话 ID
【发布时间】:2016-01-02 17:19:00
【问题描述】:

我想在 Opportunity DetailView 中包含一个外部 URL,其中包含当前会话 ID(就像您在使用 SugarCRM API 和身份验证时获得的那个)和 Opportunity 的 ID。此链接将转到显示数据摘要的外部应用程序。

如何在 SugarCRM 的 PHP 中检索会话 ID?

我知道我可以添加一个新文件来将自定义代码添加到页面模板:

SuiteCRM\custom\modules\Opportunities\views\view.detail.php

以下是我想要的示例:

<?php

require_once('include/MVC/View/views/view.detail.php');

class OpportunitiesViewDetail extends ViewDetail
{
    function OpportunitiesViewList()
    {
        parent::ViewDetail();
    }

    function preDisplay()
    {
        echo "<a href='http://localhost/Index/session-key/opportunity id/'>Summary View</a>";
        parent::preDisplay();
    }
}

【问题讨论】:

    标签: session sugarcrm sessionid suitecrm seamless-login


    【解决方案1】:

    您可以简单地使用 session_id()

    <?php
    
    require_once('include/MVC/View/views/view.detail.php');
    
    class OpportunitiesViewDetail extends ViewDetail {
    
        function OpportunitiesViewDetail(){
            parent::ViewDetail();
        }
    
        function display() {
            $session_id = session_id();
    
            echo "<a href='http://localhost/Index/" . $session_id . "/" . $this->bean->id . "'>Summary View</a>";
    
            parent::display();
        }
    }
    

    【讨论】:

    • 我试过了。不幸的是,当 SOAP API 使用 seamless_login(sessionId) 验证会话时,会话在 CRM 中立即过期,并且 SOAP API 也说它无效。你试过这个吗?看来 CRM 和 SOAP 的会话是独立的。这是有道理的,你永远不能以自己的方式行事。
    猜你喜欢
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    相关资源
    最近更新 更多