Voila je rencontre un petit problème avec mon code.
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'loginRedirect' => array('controller' => 'DateLivraisonsProduits', 'action' => 'dlc'),
'logoutRedirect' => array('controller' => 'Users', 'action' => 'login', 'homemk')
),
'Cookie', 'Security', 'Paginator', 'Flash', 'DebugKit.Toolbar', 'RequestHandler', 'Calcul');
public $helpers = array('Form', 'Html', 'Js', 'DateFr');
public function beforeRender() {
parent::beforeRender();
$this->loadModel('EncoursInventaire');
$encours = $this->EncoursInventaire->find('first');
$test = isset($encours['EncoursInventaire']['date_inventaire']) ? $encours['EncoursInventaire']['date_inventaire'] : null ;
$this->set('menu_option', $test);
//debug($encours);
}
}
class UsersController extends AppController {
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('add', 'logout');
}
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
return $this->redirect($this->Auth->redirectUrl());
} else {
$this->Flash->error(__("Nom d'user ou mot de passe invalide, réessayer"));
}
}
}
<div class="users form row">
<?php echo $this->Flash->render('auth'); ?>
<?php
echo $this->Form->create('User'); ?>
<fieldset>
<legend><?php echo ('Add User'); ?></legend>
<?php
echo $this->Form->input('username', array('label' => 'Identifiant'));
echo $this->Form->input('password', array('label' => 'Mot de passe'));
?>
</fieldset>
<?php echo $this->Form->end(('Se connecter')); ?>
</div>
J'ai tout fait comme dans la documentation, j'ai CakePHP 2.8
et j'obtient toujours false à ma demande $this->Auth->login();
et quand je mets $this->Auth->login($this->request->data) ca fonctionne, mais je n'arrive pas à acceder aux autres variables de ma table, cad 'role' et 'active' et 'id'
Merci de votre aide
Bonjour,
Essaye de rajouter dans ton component Auth del'AppController :
'Auth' => array(
'authenticate' => array('Form'),
'loginRedirect' => array('controller' => 'DateLivraisonsProduits', 'action' => 'dlc'),
'logoutRedirect' => array('controller' => 'Users', 'action' => 'login', 'homemk')
),
http://book.cakephp.org/2.0/fr/core-libraries/components/authentication.html
J'avais déjà essayé cela. Ca donne rien. Il y a peut etre un problème de configuration, mais je vois pas quoi !
J'ai trouvé mon erreur, c'était effectivement le hashage, j'avais utilisé la méthode $this->Auth->password('admin') ; qui ne donne pas le meme hashage que la fonction hash() ; Merci de votre aide