Bonjour,

je débute sur symfony et je voudrais savoir comment restreindre l'acces des pages qu'un utilisateur a crée en étant logué via fosuser par exemple, afin q'il puisse être le seul à pouvoir y acceder .

la restriction doit t'elle être faite au niveau du repository ou du controler et doit on utiliser les sessions ou les posts?

2 réponses


JacobDelcroix
Réponse acceptée

A la création de la page, tu dois enregistrer aussi l'ID de la personne qui l'a créé. Ainsi dans ton contrôleur, quand tu as récupéré la page en question tu peux tester si le créateur = la personne connectée.

sebo
Auteur

Bonjour JacobDelacroix :)

et merci pour cette reponse, j'ai effectiverment fait un simple controle comme tu m'as conseillé de le faire dans le controleur et ca marche :)

je l'ai fait juste apprés l'appel du repository pour ceux que ça interressent :


if($bebe->getUtilisateur()===$this->getUser()){       
return $this->render('MonbundleBundle:bundle:accueilfiche.html.twig', array('infosfiche'=>$infosfiche));

}

du coup si je modifie l'id manuellement dans l'url de la page, il me balance une notification, normal j'ai pas encors mis d'alternative dans se cas la

The controller must return a response (null given). Did you forget to add a return statement somewhere in your controller?
500 Internal Server Error - LogicException .

un grand merci à toi JacobDelcroix pour cette réponse précise et rapide ;)