Chargement...

Sécuriser son projet Symfony


L'une des raisons qui pousse un développeur sérieux à travailler avec un framework est l'utilisation de technologies toutes faites pour sécuriser son projet très facilement. Symfony propose toute une série d'outils qui vous permettent de séruriser vos fonctionnalités notamment via une distribution de ROLE. (USER, ADMIN, etc.)

security.yml

La manière la plus simple / efficace d'interdire un accès à un utilisateur non identifié et de passer par le fichier security.yml

Nous voulons par exemple interdire l'accès aux ressources /admin, il suffira de l'indiquer dans le fichier security.yml comme ceci:

security:
  access_control:
    - { path: ^/admin, role: ROLE_USER }

Si l'utilisateur essaie d'accéder par exemple à la ressource /admin/home, il sera redirigé vers /login

Sécuriser une partie de votre code

Vous pouvez à tout moment lancer une erreur d'interdirection dans votre controlleur:

use Symfony\Component\Security\Core\Exception\AccessDeniedException;

public function helloAction($name)
{
    if (false === $this->get('security.context')->isGranted('ROLE_ADMIN')) {
        throw new AccessDeniedException();
    }
}



UNE QUESTION SUR L'ARTICLE?


CSSW Apprendre à créer son site web CSSW