CakePHP 2.0を使用してWebサイトを学習およびプログラミングしようとすると、奇妙な問題が発生します。私は過去にバージョン1.3で作業したことがありますが、これまでこの問題は発生していません。クックブック(p.638)のSimple Authentication and Authorization Applicationチュートリアルを実行していて、同じであることを確認するためにチェックとダブルチェックを行いました。
私が抱えている問題は、/ users / loginに電話して、偽の情報をフォームに入力するか、単に空のままにしておくことです。Authはログインし、ログインするとif($this->Auth->user())
trueを受け取ります。
私はそれが起こっている理由を理解しようとするのをあきらめました。それはおかしい....
/ users / login
public function login(){
if($this->request->is('post')){
if($this->Auth->login($this->request->data)){
$this->redirect($this->Auth->redirect());
}else{
$this->Session->setFlash('Wrong login credentials!', 'default', array('class' => 'notification error closeable'));
}
}
}
//Appcontroller.php----認証構成
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
),
'logoutRedirect' => array('controller' => 'pages', 'action' => 'home'),
'authorize' => array('Controller')
)
);
public function isAuthorized($user){
if(isset($user['role']) && $user['role'] === 'admin'){
return true;
}
return false;
}