0

クックブックを使用して、次のコードを使用して独自のカスタム認証を作成しました。

// Controller/Auth/CustomAuthenticate.php



App::uses('BaseAuthenticate', 'Controller/Component/Auth');

class CustomAuthenticate extends BaseAuthenticate {

    public function authenticate(CakeRequest $request, CakeResponse $response) {
        return false;
    }
} 

// Controller/UserController.php


class UserController extends AppController {
   var $components = array('Auth' => array('authenticate' => array('Custom')));

   public function login() {
      // some code that includes:
      $this->Auth->login($this->request->data);
   }
}

私の CustomAuthentication クラスの認証メソッドは false を返しますが、どういうわけか正しい資格情報で、ログインは機能しているようです。

私はCakePHP 2.1を使用しています

4

1 に答える 1

1

$this->request->dataログインフォームを渡すことは想定されていないため、これが適切に機能するとは期待できません。

それはただです

$this->Auth->login();

そうしないと、認証をスキップし、渡されたデータは常にこのユーザーをログインさせます。それがゴミであるか正しい資格情報であるかに関係なく。ログインフォームでそれを行うことは決してありません。

于 2012-04-12T12:20:20.787 に答える