Domanda
Io sto usando un account di accesso con un campo di applicazione al fine di garantire che l'account utente è attivo. Se l'accesso non riesce come posso dire se non è riuscita perché l'e-mail non è stato abbinato o se i conti non è stato attivato?
Inoltre, non ho capito tutta la documentazione nei libri di cucina CakePHP, la prego di dare un'occhiata al mio sezione auth nella mia gamma di componenti?
Il campo E-mail nella tabella HTML e tabella SQL sono chiamati 'AccountEmail'
Il campo Password nella tabella HTML e tabella SQL sono chiamati 'AccountPassword'
La riga nella tabella SQL per account attivi viene chiamata 'AccountActive' ed è un tipo int con valore 0 se l'utente non è attivo e 1 se è attivo.
'Auth' => array(
'logoutRedirect' => array('controller' => 'Accounts', 'action' => 'login'),
'authError' => 'You can\'t Access That Page',
'authorize' => array('Controller'),
'fields' => array('AccountEmail' => 'AccountEmail', 'AccountPassword' => 'AccountPassword'),
'scope' => array('AccountActive' => '1')
)
Soluzione
ti perdi quale gestore di autenticazione per l'uso e la configurazione di campi era sbagliato.
darò per scontato che si desidera utilizzare un forma per login:
/**
* Auth component configuration
*/
public $components = array(
'Auth'=> array(
'logoutRedirect' => array(
'controller' => 'Accounts',
'action' => 'login'
),
'authError' => 'You can\'t Access That Page',
'authorize' => array('Controller'),
'authenticate' => array(
'Form' => array(
'fields' => array(
'username' => 'AccountEmail',
'password' => 'AccountPassword'
),
'scope' => array('AccountActive' => '1')
)
)
)
);