Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > CakePHP
CakePHP Forum d'entraide sur le framework PHP CakePHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 25/02/2012, 14h00   #1
cedchab38
Invité de passage
 
Cédric Chabert
Inscription : décembre 2010
Messages : 1
Détails du profil
Informations personnelles :
Nom : Cédric Chabert

Informations forums :
Inscription : décembre 2010
Messages : 1
Points : 0
Points : 0
Par défaut authentification double entrée cakePHP 2.0

Bonjour,

Dans le cadre de mes études, je développe un site web, avec CakePHP 2.0.

Cependant je bloque sur l'authentification. J'ai suivi le tutoriel de formation-cakePHP mais sans aucun succès : http://www.formation-cakephp.com/358...ee-cakephp-1-3.

Le site est destiné à des tuteurs et des étudiants. Il y a donc deux types d'utilisateur. J'ai suivi le tuto indiqué ci-dessus (voir code ci-dessous) afin d'implémenter une authentification à double entrée. Mais lorsque je tente de me connecter (je rentre login et password), rien ne se passe. C'est comme si j'étais redirigé sur la page login à nouveau.

Je ne sais plus quoi faire.

Avez-vous des idées ?




Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
// app/controllers/components/app_auth.php
App::import('Component', 'Auth');
 
class AppAuthComponent extends AuthComponent
{
	/**
	 * Configuration par défaut
	 *
	 * @var array
	 */
	var $defaults = array(
		'userModel'      => 'User',
		'userScope'      => array(),
		'fields'         => null,
		'loginAction'    => null,
		'loginRedirect'  => null,
		'logoutRedirect' => null,
		'autoRedirect'   => true,
		'loginError'     => "Identifiant ou mot de passe incorrects.",
		'authError'      => "Vous n'avez pas accès à cette page.",
		'flashElement'   => 'default',
	);
 
	/**
	 * Configurations possibles en fonction du préfixe de la route
	 *
	 * @var array
	 */
	var $configs = array(
		'students' => array(
			'userModel'      => 'Student',
			'userScope'      => null,
			'fields'         => array('username' => 'loginstudent', 'password' => 'passwordstudent'),
			'loginAction'    => array('controller' => 'students', 'action' => 'login', 'students' => false),
			'loginRedirect'  => array('controller' => 'students', 'action' => 'home'),
			'logoutRedirect' => array('controller' => 'students', 'action' => 'login'),
			'flashElement'   => 'public_notice',
		),
		'tutors' => array(
			'userModel'      => 'Tutor',
			'userScope'      => null,
			'fields'         => array('username' => 'logintutor', 'password' => 'passwordtutor'),
			'loginAction'    => array('controller' => 'tutors', 'action' => 'login', 'tutors' => false),
			'loginRedirect'  => array('controller' => 'tutors', 'action' => 'home', 'tutors' => true),
			'logoutRedirect' => array('controller' => 'tutors', 'action' => 'login', 'tutors' => false),
			'flashElement'   => 'public_notice',
		),
	);
 
	/**
	 * Démarrage du composant.
	 * Autorisation si pas de préfixe dans la Route qui a conduit ici.
	 *
	 * @param object $controller Le contrôleur qui a appelé le composant.
	 */
	function startup(&$controller)
	{
		$prefix = null;
 
		if(empty($controller->params['prefix']))
		{
			$this->allow();
		}
		else
		{
			$prefix = $controller->params['prefix'];
		}
 
		// Cas spécial des actions de login et logout, pour lesquelles le préfixe n'existe pas
		if(in_array($controller->action, array('login', 'logout')))
		{
			switch($controller->name)
			{
				case 'tutor':
					$prefix = 'tutors';
					break;
 
				case 'student':
					$prefix = 'students';
					break;
			}
		}
 
		$this->_setup($prefix);
 
		parent::startup($controller);
	}
 
	/**
	 * Définition des variables de config en fonction d'un préfixe
	 *
	 * @param string $prefix
	 */
	function _setup($prefix)
	{
 
		$settings = $this->defaults;
 
		if(array_key_exists($prefix, $this->configs))
		{
 
			$settings = array_merge($settings, $this->configs[$prefix]);
		}
 
		$this->_set($settings);
 
	}
}
?>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// app/Controller/AppController.php
class AppController extends Controller {
 
 
 
 
var $components = array('AppAuth', 'Session');
 
 
 
}
Code :
1
2
3
4
5
6
7
8
9
10
11
<!-- /views/tutors/tutors_login.ctp -->
<h2>Tutor Access</h2>
 
<?php
echo $this->Session->flash('auth');
 
echo $this->Form->create('Tutor');
echo $this->Form->input('logintutor', array('label' => "Login :"));
echo $this->Form->input('passwordtutor', array('label' => "Password :"));
echo $this->Form->end("Connexion");
?>
cedchab38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h49.


 
 
 
 
Partenaires

Hébergement Web