0

Zend 的 JSON-RPC 服务器似乎不喜欢会话,而且我似乎无法附加会话,即使通过传入Zend_Session::getId()我的 RPC 方法并Zend_Session::setId($session_id)按照我的预期恢复它。

为了说明什么不起作用:

<?php

$server = new Zend_Json_Server();
$server->setClass('MyRPC');
?>
<script>
$(document).ready(function() {
    myrpc = jQuery.Zend.jsonrpc({
        url : <?=json_encode($this->baseUrl('/ajax'))?>
        , smd : <?=$server->getServiceMap()?>
        , async : true
    });
    myrpc.getIdentity(<?=json_encode(Zend_Session::getId())?>, {
        success : function(data) {
            alert(data.user_id);
        }
    });
});
// see: http://www.tanabi.com/projects/jsonrpc

</script>

在我的 RPC 类中:

<?php

class MyRPC {

    /**
     * @param string
     * @return array
     */
    public function getIdentity($session_id) {
        \Zend_Session::setId($session_id);
        \Zend_Session::start();
        // returns NULL
        return \Zend_Auth::getInstance()->getIdentity();
    }

}
4

1 回答 1

1

看起来这是未实现的。

于 2012-02-04T15:49:09.540 回答