我似乎无法掌握使用 Zend Framework 对 REST 进行身份验证的方式。我希望用户能够登录一次,然后根据他的用户级别允许他访问站点的任何区域。我们有一个工作的非 REST 登录代码,我基本上只是将它复制并放在类的postAction()
方法中Api_LoginController
。
class Api_LoginController extends REST_Controller
{
public function postAction() {
$request = $this->getRequest();
$form = new Application_Form_LoginForm;
if ($request->isPost()) {
if ($form->isValid($request->getPost())) {
$email = $form->getValue('email');
$password = $form->getValue('password');
$user = Application_Model_UserModel::getUserByEmail($email);
if ( $user && $user->login($password)) {
echo json_encode(array('error' => false, 'message' => 'Logged in.'));
} else {
echo json_encode(array('error' => true, 'message' => 'Login failed.'));
}
}
}
}
}
我怎么从这里走?Zend(1.11) 是否应该能够在后续访问中识别用户?现在,它似乎在登录后无法识别同一用户。