2011-06-14 6 views
-1

私は誰かがCakePHPで作ったウェブサイトを編集していますが、私はCakeでこれまでの経験はありません。私はマニュアルを読んでいますが、理解することが非常に難しいと思っていますので、ここで質問を投稿して迅速な回答を得ることができるかどうかを考えました。CakePHPログインシステム

私は、このコードは、ログインボックスを表示するために使用されていることを考えると、あなただけのユーザー名のテストでログインすることができ、パスワード123123

var $components = array("Auth", "Acl"); 

function beforeFilter(){ 
    $this->Security->loginOptions = array(
    'type' => 'basic', 
    'realm' => 'Authenticate Emergency Response Center' 
); 
$this->Security->loginCredentials = array(
    'test' => '123123' 
); 
$this->Security->requireLogin(); 
    $this->_bindToSite(); 
    parent::beforeFilter(); 
} 

私は、ボックス内のログがまだ表示させたいが、私はしたいですデータベースからの情報を自動的にloginCredentials配列に入力します。フィールド 'user_id'と 'password'を含む '演算子'というテーブルがあります。

誰かが、上記のコードを変更して、演算子テーブルに格納されているユーザー名/パスワードのいずれかがログインできるようにする方法を教えてもらえますか?任意のヘルプ

答えて

1

ため

おかげデータベースから配列を構築し、あなたの配列に等しい$this->Security->loginCredentialsを設定します。

1

ほとんどの作業をCakePHPの認証コンポーネントに委ねることができますが、デフォルトの「ユーザー」以外のモデルを使用する場合は、beforeFilter()に設定する必要があります。これを行う最も良い場所は、おそらくapp\ディレクトリのapp_controller.phpです。

function beforeFilter(){ 
    $this->Auth->userModel = 'Operator'; 
    $this->Auth->fields = array(
     'username' => 'user_id', 
     'password' => 'password' 
    ); 
); 
関連する問題