Bonjour, je dirais que j'ai à peu près le même problème.. Ça fait une semaine que je cherche et je ne trouve rien.. j'ai même mis tout au minimum, en espérant que sa marche, mais rien.. Je n'ai pas encore essayé de me logger directement en utilisant la fonction login comme ce que tu a fais Jey, pour te dépanner. Je me dit que qu'il faut trouver le problème car c'est quand meme assé important LOLLL.
Voici mes fichiers:
AppController.php
////////////////////////////////////////
// Definition des Components
public $components = array(
'Session',
'Auth' => array(
'loginRedirect' => array('controller' => 'users', 'action' => 'index'),
'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home'),
'fields' => array('username' => 'email', 'password' => 'password')
)
);
////////////////////////////////////////
// Fonction Before Filter
public function beforeFilter() {
$this->Auth->allow('index', 'view');
}
UsersController.php
class UsersController extends AppController {
////////////////////////////////////////
// Fonction Before Filter
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('add', 'delete'); // *** Temp...
}
////////////////////////////////////////
// Fonction Login
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
$this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Nom d\'user ou mot de passe invalide, réessayer'));
}
}
}
////////////////////////////////////////
// Fonction Logout
public function logout() {
$this->redirect($this->Auth->logout());
}
User.php
////////////////////////////////////////
// Validation rules
public $validate = array(
'email' => array(
'email' => array(
'rule' => array('email'),
'message' => 'Un email valide est requis',
'required' => true,
),
),
'password' => array(
'notempty' => array(
'rule' => array('notempty'),
'message' => 'Un mot de passe est requis',
'required' => true,
),
),
'role' => array(
'notempty' => array(
'rule' => array('inList', array('admin', 'membre')),
'message' => 'Merci de rentrer un rôle valide',
'required' => true,
),
),
);
////////////////////////////////////////
// Fonction Before Save
public function beforeSave() {
if (isset($this->data$this->alias]'password'])) {
$this->data$this->alias]'password'] = AuthComponent::password($this->data$this->alias]'password']);
}
return true;
}
login.ctp
<?php echo $this->Session->flash('auth'); ?>
<?php echo $this->Form->create('User');?>
<fieldset>
<legend><?php echo __('Merci de rentrer votre nom d\'user et mot de passe'); ?></legend>
<?php echo $this->Form->input('email'); ?>
<?php echo $this->Form->input('password'); ?>
</fieldset>
<?php echo $this->Form->end(__('Connexion'));?>
Si vous pouvez m'aider je serais bien content ^^, je suis sur que c'est quelque chose qui ma échappé mais j'arrive pas à trouver quoi LOLL
Merci