salut tout le monde
j'ai un problème dans la configuration de la table d'authentification dans cakephp, comment configurer la composante Auth pour cherche une autre table que users par exemple table clients ?
Salut,
Dans ton AppController, tu peux mettre :
$this->Auth->authenticate = array('Form' => array( 'userModel' => 'Clients'));
Apres il faut quand meme indiquer à ton logoutRedirect et redirect les url correspondantes:
$this->Auth->redirect = array('controller'=>'Clients','action'=>'index');
T'es fonctions login et logout n'ont rien à faire dans ton modèle. Elles doivent être dans ton ClientsController.
Ensuite pour les composants j'aurais fait comme ça:
public $components = array(
'Session',
'Auth' => array(
'authenticate' => array(
'Form' => array(
'userModel' => 'Client'
)
),
'authorize' => array('Controller'),
'loginRedirect' => array('controller' => Clients', 'action' => 'index'
)
);
Il faut également dans ton ClientsController, donner accès qu'au fonction login et logout.
j'ai ajouté le code pour spécifier le model d'authentification mais toujour cakephp me redirectionne vers /users/login
tout l temps le meme probleme, la table dans ma base de donnees s'appelle clients , le nom du controleur ClientController , le nom du model est Client
merci
ClientsController
App::uses('AppController', 'Controller');
class ClientsController extends AppController{
public function index(){
echo "hello i'm index";
}
public function add(){
echo "client added";
}
public function beforeFilter(){
parent::beforeFilter();
}
}
le model Client:
App::uses('AppModel', 'Model');
class Client extends AppModel{
public function login(){
echo "you need to login";
}
public function logout(){
echo "you are disconnected"
}
}
AppController
App::uses('Controller', 'Controller');
class AppController extends Controller {
public $components = array(
'Session',
'Auth'
);
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->authenticate = array('Form' => array( 'userModel' => 'Client'));
$this->Auth->redirect = array('controller'=>'Clients','action'=>'index');
}
}
merci a tous pour votre solutions, mais tout le temps c'est l meme probleme de redirection
Bonjour.
Qu'as-tu fais exactement comme modifications ?
Montres-nous à nouveau tes controllers App
et Clients
.
Tu t'attaques à l'authentification sans avoir au préalable compris le fonctionnement du Framework, ce n'est pas très judicieux.
Surtout que ce qui m'étonne, c'est que tu dis que CakePHP te redirige vers users/login
sans parler d'affichage d'erreur alors que si tu en avais un affichage et que tu nous les mentionnais, elles pourraient nous être utile pour mieux t'aider.
lartak , j'ai compris le fonctionnement de cakephp :) à l'aide de la formation de grafikart
merci à bryou16 et burkbo j'ai résolu mon problème je suis sur la bonne route :)
Bonsoir.
lartak , j'ai compris le fonctionnement de cakephp :)
Pourquoi avoir fait des mélanges entre le modèle et le controller alors (fonctions de connexion et de déconnexion dans le modèle alors que c'est censé être dans le controller) ?
j'ai just oublié mon ami :) , et j'ai déja travaillé une app web en jee alors je connais déja l'architecture MVC