0

「userModel」をデフォルトの「user」から「usuario」に変更しようとしています。CakePHP 1.3 でこれを行ったことがありますが、最新バージョンを使用して動作させることはできません。

これが私のコードです(AppController.php):

App::uses('Controller', 'Controller');

class AppController extends Controller {
    public $components = array(
        'Auth' => array(
            'loginError' => "Nombre de usuario o contraseña incorrectos.",
            'authError' => "Debes ingresar con tu cuenta de usuario.",
            'loginRedirect' => array('controller' => 'administrador', 'action' => 'productos'),
            'logoutRedirect' => array('controller' => 'usuarios', 'action' => 'login')
        ),
        'Session',
        'Email'
    );

    public function beforeFilter() {
        $this->Auth->authenticate = array(
            'Basic' => array('userModel' => 'Usuario'),
            'Form' => array('userModel' => 'Usuario')
        );
    }
}

前もって感謝します。

編集:コンポーネントは「/usuarios/login」ではなく「/users/login」にリダイレクトし、「/usuarios/login」のログインフォームは機能しません。userModel を変更したことがないようです。

4

4 に答える 4

1

カスタムの設定は、デフォルトでポイントされUserModelているものとは関係ありません。コールバックまたは配列でオーバーライドできます。希望の助け。Auth::loginAction/users/loginController::beforeFilter()Controller::$components

于 2013-10-29T12:02:31.900 に答える
1

認証コンポーネントの初期化中にこれを試してください

あなたのAppControllerで:

public $components = array(
'Auth' => array(
        'authenticate' => array(
            'Form' => array(
                'userModel' => 'Usuario',
                'fields' => array(
                    'username' => 'username',
                    'password' => 'password'
                )
            )
        )
    )
);
于 2013-08-02T10:35:25.187 に答える
0

$components配列を次のように変更します。

 public $components = array(
    'Auth' => array(
        'loginError' => "Nombre de usuario o contraseña incorrectos.",
        'authError' => "Debes ingresar con tu cuenta de usuario.",
        'loginRedirect' => array('controller' => 'administrador', 'action' => 'productos'),
        'logoutRedirect' => array('controller' => 'usuarios', 'action' => 'login'),
        'loginAction' => array('controller' => 'usuario','action' => 'login','plugin' => null),
        'authenticate' => array('Form' => array('userModel' => 'Usuario')

        ),
    ),
    'Session',
    'Email'
);
于 2015-01-10T15:43:45.940 に答える
0

このコードを試してください

App::uses('Controller', 'Controller');

class AppController extends Controller {
    public $components = array(
        'Auth' => array(
            'loginError' => "Nombre de usuario o contraseña incorrectos.",
            'authError' => "Debes ingresar con tu cuenta de usuario.",
            'loginAction' => array('controller' => 'aucusers','action' => 'login'),
            'loginRedirect' => array('controller' => 'administrador', 'action' => 'productos'),
            'logoutRedirect' => array('controller' => 'usuarios', 'action' => 'login')
        ),
        'Session',
        'Email'
        );
   }

私はこれを次の行に追加しました

'loginAction' => array('controller' => 'aucusers','action' => 'login'),
于 2015-03-16T12:26:21.297 に答える