Как я могу использовать Zend_Auth с Zend_Json_Server?

JSON-RPC-сервер Zend, похоже, не любит сеансы, и я не могу прикрепить сеанс, даже передав 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();
    }

}

1 ответ

Решение

Похоже, это не реализовано.

Другие вопросы по тегам