2014-10-13 14 views
14

In un'applicazione Web di grandi dimensioni, desidero che i nostri clienti siano in grado di abilitare/configurare il proprio provider di identità SAML (sigle sign-on). Ogni cliente ha il proprio sottodominio specifico che consente alla nostra applicazione di determinare quale firewall deve essere attivo. Tuttavia, non voglio configurare manualmente ogni nuovo firewall e svuotare la cache prima che le modifiche diventino effettive. Ora ho letto sull'integrazione delle dipendenze, le estensioni, i compilatori e tutto il resto, ma non riesco a trovare un modo per caricare le impostazioni del firewall dinamico dal database e applicarle. Qualche idea su come lo farei?Symfony dynamic firewall

FYI, sto usando SamlSPBundle per SSO.

Grazie!

risposta

5

Forse l'ho capito solo dopo aver impostato una taglia! ;)

sicurezza Symfony2 consente di specificare un request_matcher su una base per-firewall:

http://php-and-symfony.matthiasnoback.nl/2012/07/symfony2-security-using-advanced-request-matchers-to-activate-firewalls/

personalizzate RequestMatchers deve implementare un unico metodo che restituisce vero o falso in base all'oggetto Request. Penso che questo potrebbe essere usato per attivare un firewall in modo dinamico. Finché hai un numero finito di firewall (io), un RequestMatcher personalizzato potrebbe risolvere il tuo problema.

+0

Questo è il modo migliore che conosco. –

+0

Meglio tardi quindi non ho mai accettato la tua risposta. L'abbiamo effettivamente implementato usando un request_matcher, grazie! – symfoon