Zendのドキュメントとここにあるいくつかの投稿を読んだ後、ユーザーテーブルからユーザーロールを取得する方法を理解できませんでした。
現時点では、AuthControllerで次のようにZend_Authを使用しています。
// Set authentication adapter and map ID and Cre.
// only admins could log in here
$adapter = new Zend_Auth_Adapter_DbTable($this->db,
'customers',
'login',
'password',
'MD5(?)');
$adapter->setIdentity($form->getValue('username'))
->setCredential($form->getValue('password'));
// Check if authentification is right
$result = Zend_Auth::getInstance()->authenticate($adapter);
if (!$result->isValid()) {
..
}
その後、Zend_Controller_Pluginを介してチェックし、結果に応じてルーティングします。
if (Zend_Auth::getInstance()->hasIdentity()) {
return;
} elseif ($request->getControllerName() == 'auth' || $request->getControllerName() == 'index') {
return;
} else {
$request->setControllerName('index');
$request->setActionName('index');
return;
}
ここで、ユーザーのロールに応じてルートを変更したいと思います。ユーザーが管理者の場合、AdminControllerにアクセスできますが、ユーザーテーブルからロールを取得するにはどうすればよいですか?この列はタイプと呼ばれ、役割を示す文字列が含まれています。
あなたが私を助けてくれることを願っています。
ご挨拶、
-lony