0

CakePHP を使用してアプリケーションを構築し、カスタム認証オブジェクトを取り込もうとしていますが、それを見つけることができないようです。ログインしようとすると、「認証アダプター "LdapAuthorize" が見つかりませんでした」というエラーが表示されます。認証用のコードでファイル app/Controller/Component/Auth/LdapAuthorize.php を作成しました。私が持っている「AppController.php」の上部付近

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

そして私が持っているAppControllerクラス内で

public $components = array(
        'Session',
        'Auth' => array(
            'loginRedirect'  => array('controller' => 'pendings', 'action' => 'index'),
            'logoutRedirect' => array('controller' => 'users', 'action' => 'login'),
            'authorize'      => array('Controller'),
            'authenticate'   => array('LdapAuthorize')
        )
    );

そして、私の UsersController.php には、次のログイン機能があります。

        public function login() {       

        if($this->request->is('post')) {
            if($this->Auth->login()) { 
                                // My Login stuff...
                            }
                    else
                        $this->redirect(array('controller'=>'someController', 'action'=>'someAction'));         
        }
    }

私のカスタム認証オブジェクトをロードできないように見える理由を誰かが知っているなら、それは素晴らしいことです。ありがとう!

4

2 に答える 2

2

あなたApp::uses()が間違っていると思うので、クラスが見つかりません。現在のコード:

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

Controller/Component/Auth/LdapAuthorize/LdapAuthroize.phpを見つけようとしています

最初のパラメータはクラス名です (タイプミスがあります)。2 番目のパラメータはクラスを含むディレクトリへのパスです。クラス名を再度追加する必要はありません。

これを試して:

App::uses('LdapAuthorize', 'Controller/Component/Auth');
于 2013-08-07T16:01:46.563 に答える