El ejemplo de la sección anterior utiliza @Security
junto con un ParamConverter para poder acceder al valor de la variable post
. Si no te gusta hacerlo así o tus requerimientos son más complejos, recuerda que la seguridad se puede comprobar fácilmente con código PHP:
/**
* @Route("/{id}/edit", name="admin_post_edit")
*/
public function editAction($id)
{
$post = $this->getDoctrine()->getRepository('AppBundle:Post')
->find($id);
if (!$post) {
throw $this->createNotFoundException();
}
if (!$post->isAuthor($this->getUser())) {
throw $this->createAccessDeniedException();
}
// ...
}