@IsGranted
@Security
@IsGranted("nomDuRole") permet de s'assurer que l'utilisateur possède bien un rôle donné
@Security(ExpressionDeSecurite) permet de créer des règles de sécurité plus précises
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
class PostController extends AbstractController
{
/**
* @IsGranted("ROLE_ADMIN")
*
* or use @Security for more flexibility:
*
* @Security("is_granted('ROLE_ADMIN') and user===ad.getAuthor()")
*/
public function edit(Ad $ad, Request $request, ObjectManager $manager)
{
// ...
}
}
Pour sécuriser des actions (routes d'un contrôleur) en fonction du rôle d'un utilisateur, on utilisera 2 annotations. Les quelles ?