IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Sensibilité à la casse [ZF 1.9]


Sujet :

MVC PHP

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    C'est fait.... j'ai aucun changement.

    Je comprends vraiment pas pourquoi ça ne fonctionne pas sous Linux!!

  2. #22
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Il faut que tu trouve ou il teste sur les droits.
    Moi je dirai que l'application teste sur le rôle est ce qu'il a le droit de voir la page sinon il le redirige vers l'index.
    un fonction comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ->isAllowed('Guest' , 'controller', 'action')
    et que la lettre du guest est ecrit en majuscule par exemple.
    Pour faire des teste et dire que c'est a cause de ça ou pas.
    A la recherche d'un film : http://chercher-un-film.com

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    ok je regarde et je vous tiens informé!

    merci

  4. #24
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    ok
    A la recherche d'un film : http://chercher-un-film.com

  5. #25
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    j'ai trouvé une classe qui semble indiquer qu'il n'y a pas d'authentification pour le module default:

    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
    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <?php
    class Pi_Plugin_Permissions extends Zend_Controller_Plugin_Abstract
    {
        private $_auth;
        private $_acl;
     
        private $_noauth = array(
    					'default' =>
    						array('module' => 'default',
    						 'controller' => 'index',
    						 'action' => 'noauth'),
    					'manager' =>
    						array('module' => 'manager',
                                 'controller' => 'auth',
                                 'action' => 'login'),
    					'candidats' =>
    						array('module' => 'candidats',
                                 'controller' => 'auth',
                                 'action' => 'login')
    							 );
     
     
        private $_noacl = array('module' => 'default',
                                'controller' => 'index',
                                'action' => 'noacl');
     
     
        public function __construct($auth, $acl)
        {
            $this->_auth = $auth;
            $this->_acl = $acl;
        }
    	/*
    	****       Assertion qui ne marche pas !!!! 
    	v�rification du compte client et agence directement dans le controller 
        public function dispatchLoopStartup (Zend_Controller_Request_Abstract $request)
        {
    		$this->_acl->allow("client","manager_clients",'',new Pi_Acl_ClientAssert($request->getParam("cli_id",null)));
            if (true) {
                echo "autoris� permission" . $request->getParam("cli_id",null).'<br/>';
            } else {
    			echo "pas autoris�";
    		}
        }
    	*/
     
    	public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
    	{
    //		$frontController = Zend_Controller_Front::getInstance();
    //		$var = $frontController->getRouter();
    //		Zend_Registry::get('Firebug')->log($var->getCurrentRouteName(), Zend_Log::INFO); 
    		//Zend_debug::Dump($request);
     
    		$messageDebug = array();
     
    		$role = 'guest';
     
            if ($this->_auth->hasIdentity()) {
    			if(isset($this->_auth->getIdentity()->role)){
    				$role = $this->_auth->getIdentity()->role;
    			}
            }
     
    		//recup de la ressource en cours
        	$controller = $request->controller;
        	$action = $request->action;
        	$module = $request->module;
    		$cli_id = $request->cli_id;
     
    		if ($module == 'candidats' && $request->controller != 'auth' && $request->controller != 'register') {
    			$resource = 'candidats_area';
    		} elseif ($module != 'default') {
                $resource = $module . '_' . $controller;
            } else {
                $resource = $controller;
            }
     
    		$messageDebug[] = "Real resource : " . $resource;
    		//test de la ressource
        	if (!$this->_acl->has($resource)) {
            	$resource = null;
        	}
    		$messageDebug[] = 'Module : ' . $module;
    		$messageDebug[] = 'controller : ' . $controller;
    		$messageDebug[] = 'action : ' . $action;
    		$messageDebug[] = 'resource : ' . $resource;
    		$messageDebug[] = 'role : ' . $role;
    		$messageDebug[] = 'isModule ' . $request->_isModule;
    		$messageDebug[] = "autorise : " . (($this->_acl->isAllowed($role, $resource, $action)) ? 'oui' : 'non' );
    		$messageDebug[] = "cli_id : " . $cli_id ;
     
     
            if (!$this->_acl->isAllowed($role, $resource, $action)) {
                if (!$this->_auth->hasIdentity() && $request->module == 'manager' &&  $request->controller != 'auth') {
                    $module = $this->_noauth['manager']['module'];
                    $controller = $this->_noauth['manager']['controller'];
                    $action = $this->_noauth['manager']['action'];
                //}elseif (!$this->_auth->hasIdentity() && $resource == 'candidats_area' &&  ($request->controller != 'auth' || $request->controller != 'register')) {
                }elseif ($resource == 'candidats_area' &&  ($request->controller != 'auth' || $request->controller != 'register')) {
                    $module = $this->_noauth['candidats']['module'];
                    $controller = $this->_noauth['candidats']['controller'];
                    $action = $this->_noauth['candidats']['action'];
                }elseif (!$this->_acl->isAllowed($role, $resource, $action)
    					&& Zend_Controller_Front::getInstance()->getDispatcher()->isDispatchable($request)
    			)  { // permet de savoir si une page existe ou pas
    				$module = $this->_noacl['module'];
                    $controller = $this->_noacl['controller'];
                    $action = $this->_noacl['action'];
    			}
            }
    		$messageDebug[] = "Redirige vers :" . $module .'/'. $controller .'/'. $action;
     
    		$request->setModuleName($module);
    		$request->setControllerName($controller);
    		$request->setActionName($action);
    		$url = $this->_request->getPathInfo();
    		$request->setParam('redirectUrl',$url);
     
    		if($this->_acl->isAllowed($role, 'display_debug_msg')){
    			//Zend_Registry::get('Firebug')->log($messageDebug, Zend_Log::INFO); 
    		}
    	}
     
    }

  6. #26
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Vider la fonction dispatchLoopStartup pour voir s'il va te faire la redirection sinon on verra le code de la classe.
    A la recherche d'un film : http://chercher-un-film.com

  7. #27
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Ok quand je la met en commentaire, il ne se passe rien.
    Par contre j'ai une autre classe, si je commente la fonction preDispatch, mon site ne s'affiche pas.

    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
    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
    <?php
    class Pi_Plugin_Layout extends Zend_Controller_Plugin_Abstract
    {
        private $_auth;
        private $_acl;
        private $_role;
    	private $view;
     
        public function __construct($auth, $acl)
        {
            $this->_auth = $auth;		
            $this->_acl = $acl;
    		//$this->view = Zend_Layout::getMvcInstance()->getView();
    		//$this->view->addScriptPath("./application/modules/manager/views/layout");
    		//$this->view->addScriptPath("./application/modules/manager/views/scripts");
    	}
     
    	public function preDispatch(Zend_Controller_Request_Abstract $request)
    	{
    		$layout = Zend_Layout::getMvcInstance();
    		//Zend_Layout::getMvcInstance()->setLayout($request->getModuleName());
     
    		$this->_role = 'guest';
     
            if ($this->_auth->hasIdentity()) {
    			if(isset($this->_auth->getIdentity()->role)){
    				$this->_role = $this->_auth->getIdentity()->role;
    			}
            }
     
    		/*
    		Affichage d'une zone de debug quand le site est en développement
    		if($this->_acl->isAllowed($this->_role, 'display_dev_tool')){
    			$layout->after_body_start = '<div id="beta_menu" class="valign">'.
    			
    			'</div>';
    		}
    		*/
     
    		// Menu à gauche pour le manager
    		if($request->getModuleName() == 'manager'){
    	        if ($this->_auth->hasIdentity()) {
    	            $role = $this->_auth->getIdentity()->role;
    	        } else {
    	            $role = 'guest';
    	        }
    			// echo $request->getModuleName();
     
    			switch($role) {
    				case 'admin':
    					$layout->left = "admin";
    					break;
    				case 'agence':
    					$layout->left = "agence";
    					break;
    				case 'client':
    					$layout->left = "client";
    					break;
    			}
    		}
    		/*
    		// bouton pour le menu de debug en bas de toute les pages
    		if($this->_acl->isAllowed($this->_role, 'display_beta_menu')){
    			$layout->before_body_end = '<div id="beta_menu" class="valign">'.
    			'<a href="'.SITE_ABS_URL.'index/report"><img src="'.SITE_ABS_URL.'/public/skin/default/images/icon_bug.gif" /> Beta Menu</a>'.
    			'</div>';
    		}
    		*/
    	}
    }

  8. #28
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Commente les ligne du 93 -> 110 de la calss "Pi_Plugin_Permissions"
    A la recherche d'un film : http://chercher-un-film.com

  9. #29
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    pareil.... aucun changement

  10. #30
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    fais un echo avant la ligne 93
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $module .'--'. $controller . '--' $action.'<br/>';
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $module .'--'. $controller . '--' $action; 
    exit:
    aprés 110
    A la recherche d'un film : http://chercher-un-film.com

  11. #31
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    J'ai une page blanche... rien ne s'affiche

    Après correction, voilà ce qui 'affiche :

    default - index - index
    default - index - index

  12. #32
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Est ce que tu la testé sur la page d'accueil si oui essai d'aller à la page de rechercher par url
    A la recherche d'un film : http://chercher-un-film.com

  13. #33
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    J'ai ce résultat sur la page de recherche: http://91.216.19.189/portailinterim.com/index/recherche

    default - herche - index
    default - herche - index

    bizarre non???

  14. #34
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Ce "herche" est trop bizare, c'est le "rec" du "recherche" qui a disparu.

    met le
    echo $module .'--'. $controller . '--' $action;
    exit:
    apré la ligne 67 pour voir la valeur initial ce qu'il va donné par default il doit afficher
    default - index - recherche.

    PS
    Votre boite n'accepte plus les message privé tu dois la vidé.
    A la recherche d'un film : http://chercher-un-film.com

  15. #35
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Alors j'ai fait le test et j'ai toujours la même chose:
    quand je mets dans mon url : http://91.216.19.189/portailinterim.com/index/recherche

    par contre quand je mets ça: http://91.216.19.189/portailinterim.com/Index/recherche

    j'ai ce résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    default--Index--recherche
    je suis sur que c'est une histoire de casse dans un fichier mais je ne sais pas quoi faire

    PS: ma boîte est vidée

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Sensibilité à la casse - commande LIKE
    Par loris dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/02/2007, 22h05
  2. Sensibilité à la casse
    Par Diss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 08/09/2006, 16h41
  3. Sensibilité à la casse
    Par pier* dans le forum Oracle
    Réponses: 4
    Dernier message: 04/04/2006, 10h15
  4. Tri par ordre alpha, sensibilité à la casse
    Par linou dans le forum Oracle
    Réponses: 2
    Dernier message: 30/09/2005, 14h45
  5. MSSQL et sensibilité à la casse
    Par mortalzoom dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/07/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo