The symfony Reference Book

Le fichier de configuration security.yml

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "The symfony Reference Book" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com

Chapter Content

Authentication

Authorization

symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "The symfony Reference Book" in French for the 1.4 version - Switch to version: - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
The symfony reference guide
Support symfony!
Buy this book
or donate.
Buy The symfony reference guide from amazon.com

Le fichier de configuration security.yml décrit les règles d'authentification et d'autorisation pour une application symfony.

Les informations de configuration du fichier security.yml sont utilisés par la classe du factory user (sfBasicSecurityUser par défaut). L'exécution de l'authentification et l'autorisation est effectuée par le filtre security.

Lorsqu'une application est créée, symfony génère un fichier par défaut security.yml dans le répertoire config/ de l'application qui décrit la sécurité pour toute l'application (sous une clé par défaut) :

default:
  is_secure: false

Comme indiqué dans l'introduction, le fichier security.yml bénéficie du mécanisme de configuration en cascade et peut inclure des constantes.

La configuration de l'application par défaut peut être substituée pour un module en créant un fichier security.yml dans le répertoire config/ du module. Les clés principales sont les noms des actions sans le préfixe execute (index pour la méthode executeIndex par exemple).

Pour déterminer si une action est sécurisé ou non, symfony regarde pour l'information dans l'ordre suivant :

Les mêmes règles de priorité sont utilisées pour déterminer les credentials nécessaires pour accéder à une action.

Le fichier de configuration security.yml est mis en cache dans un fichier PHP; le processus est automatiquement géré par la classe sfSecurityConfigHandler.

Authentication

La configuration par défaut de security.yml, installé par défaut pour chaque application, autorise l'accès à n'importe qui :

default:
  is_secure: false

Quand le paramètre is_secure sera à true dans le fichier security.yml de l'application, l'application entière demandera une authentification pour tous les utilisateurs.

Quand un utilisateur non-authentifié tente d'accéder à une action sécurisée, symfony transmet la requête à l'action login configurée dans settings.yml.

Pour modifier les conditions d'authentification pour un module, créez un fichier security.yml dans le répertoire config/ du module et définissez la clé all :

all:
  is_secure: true

Pour modifier les conditions d'authentification pour une action individuelle d'un module, créez un fichier security.yml dans le répertoire config/ du module et définissez une clé après le nom de l'action :

index:
  is_secure: false

Il n'est pas possible de sécuriser l'action login. Il s'agit d'éviter une récursion infinie.

Authorization

Lorsqu'un utilisateur est authentifié, l'accès à certaines actions peuvent être encore plus limité en définissant les credentials. Quand les credentials sont définis, l'utilisateur doit disposer des credentials nécessaires pour accéder à l'action :

all:
  is_secure:   true
  credentials: admin

Le système des credentials de symfony est simple et puissant. Un credential est une chaîne qui peut représenter tout ce dont vous avez besoin pour décrire le modèle de sécurité des applications (comme des groupes ou des autorisations).

Les clés credentials supportent les opérations booléennes pour décrire les exigences complexes des credentials en utilisant le tableau de notation.

Si un utilisateur doit disposer du credential A et du credential B, entourez les credentials avec des crochets :

index:
  credentials: [A, B]

Si un utilisateur doit disposer du credential A ou du credential B, entourez les credentials avec deux paires de crochets :

index:
  credentials: [[A, B]]

Vous pouvez également mélanger les crochets pour décrire tout type d'expression booléenne avec n'importe quel nombre de credential.

Le fichier de configuration cache.yml »
« Le fichier de configuration databases.yml

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.