serwol Posted January 10, 2014 Share Posted January 10, 2014 Bonjour à tous, je voudrais faire en sorte de n'autoriser un site uniquement aux clients connectés. Pour les non connectés il faudrait qu'ils soient redirigés vers la page d'authentification. D'après ce que j'ai pu voir il faudrait surcharger le frontcontroller.php avec la méthode islogged, mais je ne vois pas trop où indiquer ces conditions. Ou alors il faut restreindre pour chaque page ? Merci d'avance Link to comment Share on other sites More sharing options...
seb776 Posted January 10, 2014 Share Posted January 10, 2014 (edited) Bonjour, On imagine que tu as un prestashop 1.5. Islogged() a un nom qui laisse entrevoir que cette fonction va renvoyer true ou false et PAS faire autre chose. Donc la solution n'est surement pas là Par contre la classe FrontControlleur a deux méthodes auquelles il parait interessant de s'interesser public function checkAccess() { return true; } /** * @see Controller::viewAccess * * @return boolean */ public function viewAccess() { return true; } Pour ma part je ne me m'orienterai pas vers l'utilisation de isLogged() pour determiner si l'une de ses fonctions doit renvoyer true ou false mais j'utiliserai les groupes de prestashop. $this->context->customer est un indice de plus Bon courage. Edited January 10, 2014 by seb776 (see edit history) Link to comment Share on other sites More sharing options...
serwol Posted January 10, 2014 Author Share Posted January 10, 2014 (edited) Oui en effet, plutôt que d'utiliser $cookie->isLogged(), je peux en effet regarder si l'user est un client. Par contre je ne vois pas trop l'intérêt des méthodes check et view acces, elles renvoient true certes mais rien d'autre à priori. Edit : ou alors c'est deux méthodes sont à surcharger pour permettre de restreindre l'accès au site ? Edited January 10, 2014 by serwol (see edit history) Link to comment Share on other sites More sharing options...
seb776 Posted January 10, 2014 Share Posted January 10, 2014 Edit : ou alors c'est deux méthodes sont à surcharger pour permettre de restreindre l'accès au site ? C'est l'idée Link to comment Share on other sites More sharing options...
serwol Posted January 10, 2014 Author Share Posted January 10, 2014 Ok merci à toi, je vais regarder ça de plus près Link to comment Share on other sites More sharing options...
serwol Posted January 10, 2014 Author Share Posted January 10, 2014 (edited) Bon du coup j'ai surchargé la méthode checkAcess : public function checkAccess() { if (!$context) $context = Context::getContext(); if (!$context->customer->isLogged()) return false; else return true; } Et donc dans la fonction viewAcces je controle si le checkAccess est à true ou false : public function viewAccess() { if ($this->checkAccess()) return true; else return false; } Donc maintenant il me reste à rediriger vers la page d'authentification dans le cas ou on est à false et c'est là que ça me pose souci. Tu aurais une piste ? Edited January 10, 2014 by serwol (see edit history) Link to comment Share on other sites More sharing options...
seb776 Posted January 10, 2014 Share Posted January 10, 2014 J'ai fais comme ceci, j'ai testé en détail mais ça fonctionne, dans le frontController public function checkAccess() { if( $this->context->customer->isLogged() || $this->php_self == 'authentication' ) { return true; } return false; } et public function initCursedPage() { if($this->php_self != 'authentication') { Tools::redirect('index.php?controller=authentication'); } } Link to comment Share on other sites More sharing options...
serwol Posted January 10, 2014 Author Share Posted January 10, 2014 Excellent, c'est niquel ! Merci ! C'est tout de même dommage qu'il n'existe pas de documentation détaillée pour les différentes classes et méthodes, un peu comme les javadoc Link to comment Share on other sites More sharing options...
seb776 Posted January 14, 2014 Share Posted January 14, 2014 ça s'améliore Excellent, c'est niquel ! Merci ! C'est tout de même dommage qu'il n'existe pas de documentation détaillée pour les différentes classes et méthodes, un peu comme les javadoc Je suis bien d'accord avec toi, cependant, ça s'améliore ... + Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now