私はZendフレームワークを利用したWebサービスを作成しようとしています。 APIはRESTベースで、Zend_Rest_Controllerを基本クラスとして使用します。私は、ユーザーの管理とセッションを持っていることを望む、そしてそのために私は次のコードを使用しています: ログイン(POST)RestとZFセッション管理
// user id and password fetched first
$users = new Application_Model_DbTable_UserInfo();
$auth = Zend_Auth::getInstance();
$authAdapter = new Zend_Auth_Adapter_DbTable($users->getAdapter(),'users');
$authAdapter->setIdentityColumn('userid')
->setCredentialColumn('password');
$authAdapter->setIdentity($userid)
->setCredential($pwd);
$result = $auth->authenticate($authAdapter);
if($result->isValid()){
Zend_Session::rememberMe(604800);
$storage = new Zend_Auth_Storage_Session();
$usa = $authAdapter->getResultRowObject();
$auth->getStorage()->write($usa);
$authSession = new Zend_Session_Namespace('Zend_Auth');
$authSession->setExpirationSeconds(60*60);
}
をして、例えばでサービスにアクセスするときいくつかのGETメソッドは、私は次のコードで有効なセッションがあることを確認したい:
$auth = Zend_Auth::getInstance();
if(!$auth->hasIdentity())
{
// error handling etc.
}
私はアイデンティティを取得することはありません、したがって、サービスは動作しません。
私はZF認証のガイダンスに厳密に従っていますが、RESTには追加の項目を考慮する必要がありますか?