2012-04-14 6 views
0

AuthメソッドでCakePHP 1.3のチュートリアルはすべてではありませんが、ほとんど試しましたが、CakePHP 2.0では動作しないようです。AuthコンポーネントがCakePHP 2.0で動作しない

ユーザーを追加したり、パスワードをハッシュしたりできますが、ログイン機能は動作しません。ログインをクリックするとページが更新されます。エラーも何もない

私はいくつかのヒントをありがとうと私の質問を読んでいただきありがとうございます。

この私のコード パブリック関数のログイン() {

if ($this->request->is('post')) 
    { 

     if($this->Auth->login()) 
     { 

      // the redirect() function in the Auth class redirects us 
      // to the url we set up in the AppController. 
      return $this->redirect($this->Auth->redirect()); 
     } 
     else 
     { 

      $this->Session->setFlash(__('Email or password is incorrect',true)); 
     } 
    } 
} 

おかげで、 マハデヴァープラサド

+0

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.htmlを参照してください。それが置かれている可能性がありますか? 'は(' put ') 'であるか? – mark

答えて

0

まず第一に、あなたは、データベース内のフィールドの長さをチェックしpassword.Alsoハッシュいるか確認してください。 Preferred - varchar(255) パスワードは次のようにハッシュ値になります。

class User extends AppModel { 
    public function beforeSave($options = array()) { 
     $this->data['User']['password'] = AuthComponent::password($this->data['User']['password']); 
     return true; 
    } 
} 

また、FormAuthenticateを使用しているときは、コンポーネントを宣言するときにこれを試してください。詳細については

public $components = array(
'Auth' => array(
    'loginAction' => array(
     'controller' => 'users', 
     'action' => 'login',    
    ),  
    'authenticate' => array(
     'Form' => array(
      'fields' => array('username' => 'username') 
     ) 
    ) 
) 
); 

関連する問題