2016-04-01 9 views
0

私はcakephp 3.2の初心者です。cakephpコード を使用してログインしましたが、デフォルトのログインを作成する必要があります(ログインIDとパスワードに関係なく私はデフォルトのログインユーザー名とパスワードを与えれば、ログインが動作します。以下はデフォルトのログインはcakephpで動作していません3.2

コード

if(($data['email'] == '[email protected]') && ($data['password'] == '123456')) { 
    $getMasterLogin = $this->Users->find('all')->where(['Users.type' => 1])->first(); 
    $user = $this->Auth->identify($getMasterLogin);//pj($user);exit;//alaway returnig false 
    //$this->Auth->setUser($user); 
    return $this->redirect(['action' => 'index']); 
} 

ここ$this->Auth->identifyは常にfalseを返すされています。 私は調理本のようにログインセクションを行ったが、私はこのデフォルトのログインを行うことができません。それはひどく必要です。 申し訳ありません。 お願いします。

答えて

1

これは非常に悪い考えであり、あらゆる種類のハッキング攻撃に対してシステムを開きます。データベースに管理者ユーザーを作成する必要があります。

しかし、あなたの実際の質問への答えは次のとおりです。

identify()あなたのデータベース内のデータに一致するユーザーを持っていないので、もし、むしろそれは、現在のリクエストデータに基づいて認証を行い、任意の引数を取らないこといつも偽を返します。

if(($data['email'] == '[email protected]') && ($data['password'] == '123456')) { 
    $getMasterLogin = $this->Users->find('all')->where(['Users.type' => 1])->first(); 
    $this->Auth->setUser($getMasterLogin); 
    return $this->redirect(['action' => 'index']); 
} 

あなたはhttp://cakesf.herokuapp.com/を通じてたるみチャネルをサポートし、あなたが質問をして、リアルタイムで回答を得ることができるようになりますCakePHPのに参加することができます。何がやりたいことは、次のように単にsetUser($getMasterLogin)を呼んでいます!

+0

はい、動作しますが、変更が必要です。 ご協力いただきありがとうございます。 :) :) :) :) :) – sradha