Il file di configurazione security.yml
Il file di configurazione ~security.yml~ descrive le regole di autenticazione
e autorizzazione per un'applicazione symfony.
Le informazioni di configurazione del file
security.ymlsono usate dalla classe factoryuser(predefinitasfBasicSecurityUser). L'esecuzione dell'autenticazione e dell'autorizzazione è fatta dasecurityfilter.
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: false
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 stesso. 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:
una configurazione per l'azione specifica nel file della configurazione del modulo, se esiste;
una configurazione per l'intero modulo nel file di configurazione del modulo, se esiste (sotto la chiave
all);la configurazione predefinita dell'applicazione (sotto la chiave
default).
Le stesse regole di precedenza sono usate per determinare le credenziali necessarie per accedere a 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: false
Con l'impostazione della chiave ~is_secure~ su true nel file dell'applicazione
security.yml, l'intera applicazione richiederà l'autenticazione per tutti gli utenti.
Quando un utente non autenticato prova ad accedere a una azione messa in sicurezza, symfony inoltra la richiesta all'azione
loginconfigurata insettings.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: true
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: false
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: true
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.
インデックス
Document Index
関連ページリスト
Related Pages
Introduzione
Il Formato YAML
I principi dei file di configurazione
Il file di configurazione settings.yml
Il file di configurazione factories.yml
Il file di configurazione generator.yml
Il file di configurazione databases.yml
Il file di configurazione security.yml
Il file di configurazione cache.yml
Il file di configurazione routing.yml
Il file di configurazione app.yml
Il File di Configurazione filters.yml
Il file di configurazione view.yml
Altri file di configurazione
Eventi
Task
Appendice A - Licenza
日本語ドキュメント
Japanese Documents
2011/01/18 Chapter 17 - Extending Symfony
2011/01/18 The generator.yml Configuration File
2011/01/18 Les tâches
2011/01/18 Emails
2010/11/26 blogチュートリアル(8) ビューの作成
リリース情報
Release Information
- 2.0 : 2.0.10(2011/02/06)
Symfony2日本語ドキュメント - 1.4 : 1.4.16(2011/12/13)
Changelog
