Salut à tous,
Apres avoir vu un tuto video sur le Zend_Router, je m'y suis mis. J'ai utilisé un bout du code de Zend_Auth (tuto sur developpez.com).
Par contre, je ne sais pas comment faire une redirection vers une route dans le controller. Dans le _redirect, j'aimerai utiliser une route prédéfinie :Mes routes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if ($result->isValid()) { // success : store database row to auth's storage system // (not the password though!) $data = $authAdapter->getResultRowObject(null, 'password'); $auth->getStorage()->write($data); $this->_redirect('/menu/display'); } else {un bout du XML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $frontController->setControllerDirectory(array( 'auth' => _APP_PATH_ . '/application/modules/auth/controllers', 'actualites' => _APP_PATH_ . '/application/modules/actualites/controllers', 'menu' => _APP_PATH_ . '/application/modules/menu/controllers', 'users' => _APP_PATH_ . '/application/modules/users/controllers' )); $frontController->setBaseUrl('/'); $frontController->setDefaultModule('auth'); $frontController->setDefaultControllerName('Auth'); $frontController->setDefaultAction('login'); // ROUTEUR ///////////////////////////////////////////////////////// $frontController->getRouter()->addConfig($configRouterXML,'routes');Donc comment je peux faire, apress l'authentification, pour aller sur la page du menu, en vérifiant que l'authentification a bien été faite ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <menuRoute> <type>Zend_Controller_Router_Route</type> <route>partieStaticDisplay</route> <defaults> <controller>menu</controller> <action>display</action> </defaults> </menuRoute>
là aussi, le redirect ne sera pas bon ecrit comme çà.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 class MenuController extends Zend_Controller_Action { function init() { $this->initView(); $this->view->baseUrl = $this->_request->getBaseUrl(); $this->view->user = Zend_Auth::getInstance()->getIdentity(); } function preDispatch() { $auth = Zend_Auth::getInstance(); if (!$auth->hasIdentity()) { $this->_redirect('auth/login'); } } function displayAction() { $this->view->title = "Bienvenue au menu"; $this->render(); } }
Merci de votre aide.
Fabrice
Partager