Posts Tagged ‘Zend_Auth’

Zend_Authを試す

9月 29th, 2007

ZendFremeworkのZend_Authを試す。
PEAR::Authと違い、認証のみの機能となる。
アクセス制御は別のZend_Aclを使う。

なんとなく整理して書くとこんな感じ。

$_connect = $db->_dbConnect(); //DBにコネクト
$authAdapter = new Zend_Auth_Adapter_DbTable($_connect , 'user' , 'username' , 'password');
 
// リクエストパラメータをセット
$authAdapter->setIdentity( $this->getRequest()->getPost('username') );
$authAdapter->setCredential( $this->getRequest()->getPost('password') );
 
// 認証を実行
$result = $authAdapter->authenticate();
if (!$result->isValid()) {
    // 認証失敗の場合はログイン画面へ
  $this->_redirect('/login');
}else{ 
    // 認証情報をセッションに保存
    $data = $authAdapter->getResultRowObject( null , 'password' ) );  //password以外を保存
   $auth = Zend_Auth::getInstance();
   $auth->getStorage()->write($data);
}

認証後のユーザー取得は

$auth = Zend_Auth::getInstance();
$user = $auth->getIdentity();

となる。

慣れない方法なのでわかりにくいなぁ・・。

2010/01 一部修正