未设置 Phalcon Rest 微会话

Phalcon Rest Micro sessions not set

我正在尝试使用 Phalcon 制作一个休息应用程序,我保存了一些信息 会话中登录用户的数量,但我无法正常工作,我的代码:

    $this->session->set(  Sessions::USERINFO, array (
            'login'    => true,
            'type'     => UserTypes::ADMIN,
            'username' => $this->user->getUsername(),
            'adminid'  => $this->user->getAdminID(),
            'fullname' => $this->user->getFullName(),
            'avatar'   => $this->user->getAvatar() )
    );

    return $this->session->get(  Sessions::USERINFO );

当他 returns 会话有效时,但当我尝试在另一个请求中获取会话时,它 returns 为空

    return array("session" => $this->session->isStarted(),
                 "session Data" => $this->session->get(Sessions::USERINFO));

isStarted returns 真
得到 returns null

Sessions::USERINFO

是一个 class 具有常量值

const USERINFO = "userInfo";

创建会话变量

  $di->setShared( 'session', function () {
    $session = new Session();
    $session->start();

    return $session;
  } );

我正在使用它来保存我的会话:

    $obj = $this->request->getJsonRawBody();

    $user = Users::findFirstByUsername($obj->username);

    if($user) {
        if($this->security->checkHash($obj->password, $user->password)) {
            unset($user->password);

            $this->session->set('auth', $user->toArray());
            $response = $user->toArray();
        }
        else {
            $response = array('msg' => 'failed');
        }
    }
    else {
        $response = array('error' => 'User not found');
    }

    $this->setPayload($response);

    return $this->render();

这是为了从我的会话中接收信息

    if($this->session->get('auth')['username']) {
        $response = $this->session->get('auth');
    }
    else {
        $response = array('msg' => 'noInfo');
    }

    $this->setPayload($response);

    return $this->render();

这是我开始会话的方式:

$di->set('session', function () {
    $session = new SessionAdapter();
    $session->start();

    return $session;
});

它工作得很好,你可能想试试这个。

我发现了问题。必须在我的前端应用程序中启用它:

    RestangularProvider.setDefaultHttpFields({
        withCredentials: true
    });

前端并未随每个请求发送 cookie。