如何在Zend_Json_Server中使用Zend_Auth?

时间:2012-01-26 00:08:56

标签: zend-framework zend-auth zend-session

Zend's JSON-RPC server似乎不喜欢会话,我似乎无法附加会话,即使将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 个答案:

答案 0 :(得分:1)

看起来这是unimplemented