現在cakePHP2系で管理画面を作成しています。
管理画面をログインする際、usersテーブルにあるmanager(カラム)が
「0 = 一般のユーザー、1 = 管理者」で、「1 = 管理者」の方のみログイン出来るようにしたいのですがmanager = 0 (一般のユーザー)のアカウントでもログイン出来てしまいます。
この場合どのように対処したらmanager = 1(管理者)だけログインすることが可能でしょうか?
よろしくお願い致します。
UsersController.php public function admin_login(){ if($this->request->is('post')){ //フォームから送信されてきた場合 if($this->Auth->login()){ //アカウントの認証がokだったら $this->User->id =$this->Auth->user('id'); $this->User->saveField('lastlogin',date('Y-m-d H:i:s'));//最終ログイン日時 return $this->redirect(array('controller'=>'users','action'=>'admin_index'));//管理画面へ }else{ $manager = $this->User->field('manager',array('username'=>$this->data['User']['username'])); if ($manager === 0){ $this->Session->setFlash(_('管理者登録してください。')); }else{ $this->Session->setFlash(_('ユーザ名かパスワードが違います。')); //エラーメッセージを表示 } } }
そもそも$manager === 0の分岐にいってますか?managerカラムの型は何でしょうか