Bonjour, j'ai fait le tuto de l'acl sur le cookbook de cakephp http://book.cakephp.org/2.0/en/tutorials-and-examples/simple-acl-controlled-application/simple-acl-controlled-application.html
tout marche pour le mieux sauf que dans ma table aco de ma bdd il n'a qu'une entrée "id:1, parent_id:NULL, model:NULL, foreign_key:NULL, alias:controllers, lft:1, rght:2". Ce qui pour moi n'est pas très logique.
Ensuite quand je me connecte rien ne se passe pas de redirection rien et ma variable "$this->Auth->user()" m'affiche "null"
voila mon appController
<?php
class AppController extends Controller {
public $helpers = array('Html', 'Session', 'Form', 'Time', 'Text');
public $components = array(
'Acl',
'Auth' => array(
'authorize' => array(
'Actions' => array('actionPath' => 'controllers')
)
),
'Session'
);
/**
* beforeFilter
* @brief Cette fonction est executée avant chaque action du contrôleur
* @param
* @return void
**/
public function beforeFilter(){
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'posts', 'action' => 'index');
$this->Auth->actionPath = 'controllers/';
$this->Auth->allow('display');
}
/**
* beforeRender
* @brief
* @param
* @return void
**/
public function beforeRender(){
$this->set('user', $this->Auth->user());
}
}
ma fonction login
public function login(){
if($this->Session->read('Auth.User')){
$this->Session->setFlash("Vous êtes déjà connecté");
$this->redirect('/', null, false);
}
if($this->request->is('post')){
if($this->Auth->login()){
$this->redirect($this->Auth->redirect());
} else{
$this->Session->setFlash("Votre pseudo ou mot de passe est incorrect.");
}
}
}
et mon login.ctp
<?php
echo $this->Form->create('User', array('action' => 'login'));
echo $this->Form->input('name', array('label' => 'Pseudo'));
echo $this->Form->input('password', array('label' => 'Mot de passe'));
echo $this->Form->end('Connecter');
?>
Merci pour vos réponse