The symfony Reference Book

Il file di configurazione 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

Autenticazione

Autorizzazione

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 Italian for the 1.2 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.
This version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.
The symfony reference guide
Support symfony!
Buy this book
or donate.
Buy The symfony reference guide from amazon.com

Il file di configurazione security.yml descrive le regole di autenticazione e autorizzazione per una applicazione symfony.

Le informazioni di configurazione del file security.yml sono usate dalla classe factory user (predefinita sfBasicSecurityUser). L'esecuzione dell'autenticazione e dell'autorizzazione è fatta da security filter.

Quando un'applicazione è creata, symfony genera un file predefinito security.yml nella cartella dell'applicazione config/ che descrive la sicurezza per l'intera applicazione (sotto la chiave default):

default:
  is_secure: off

Come discusso in sede di introduzione, il file security.yml trae benefici dal meccanismo di configurazione a cascata, e può includere costanti.

La configurazione predefinita dell'applicazione può essere sovrascritta per un modulo, creando un file security.yml nella cartella config/ del modulo. Le chiavi principali sono nomi di azioni senza il prefisso execute (ad esempio index per il metodo executeIndex).

Per determinare se una azione è sicura o no, symfony cerca le informazioni nel seguente ordine:

Le stesse regole di precedenza sono usate per determinare le credenziali necessarie per accedere ad una azione.

Il file di configurazione security.yml è memorizzato nella cache come file PHP; il processo è gestito automaticamente dalla classe sfSecurityConfigHandler.

Autenticazione

La configurazione predefinita di security.yml, installato in modo predefinito per ogni applicazione, autorizza l'accesso a chiunque:

default:
  is_secure: off

Con l'impostazione della chiave is_secure su on nel file dell'applicazione security.yml, l'intera applicazione richiederà l'autenticazione per tutti gli utenti.

Quando un utente non autenticato prova ad accedere ad una azione messa in sicurezza, symfony inoltra la richiesta all'azione login configurata in settings.yml.

Per modificare i requisiti di autenticazione di un modulo, creare un file security.yml nella cartella config/ del modulo e definire una chiave all:

all:
  is_secure: on

Per modificare i requisiti di autenticazione di una singola azione di un modulo, creare un file security.yml nella cartella config/ del modulo e definire una chiave dopo il nome dell'azione:

index:
  is_secure: off

Non è possibile mettere in sicurezza l'azione di login. Questo per evitare una ricorsione infinita.

Autorizzazione

Quando un utente è autenticato, l'accesso ad alcune azioni può essere maggiormente limitato definendo delle credenziali. Quando le credenziali sono definite, un utente deve avere le credenziali richieste, per accedere all'azione:

all:
  is_secure:   on
  credentials: admin

Il sistema di credenziali di symfony è semplice e potente. Una credenziale è una stringa che può rappresentare tutto quello di cui si ha bisogno per descrivere il modello di sicurezza dell'applicazione (come gruppi e permessi).

La chiave credentials supporta operazioni booleane per descrivere complessi requisiti di credenziali, utilizzando la notazione array.

Se un utente deve avere la credenziale A e la credenziale B, inserire le credenziali con parentesi quadre:

index:
  credentials: [A, B]

Se un utente deve avere la credenziale A o la credenziale B, inserire le credenziali con due paia di parentesi quadre:

index:
  credentials: [[A, B]]

È possibile anche mischiare e combinare parentesi per descrivere ogni tipo di espressione booleana con qualunque numero di credenziali.

Il file di configurazione cache.yml »
« Il file di configurazione 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.