Ver índice de contenidos del libro

9.4. Comprobando los permisos sin @Security

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();
    }
 
    // ...
}