La primera parte de la presentación trata de la seguridad en Symfony2, explicando los conceptos de autenticación y autorización.
La segunda parte muestra cómo crear el backend o parte de administración de un sitio web. Primero se hace todo a mano, luego se utiliza el generador de código de Symfony2 y por último se utiliza el Sonata Admin Bundle.
23. 1. Configurar firewall y control de
accceso
2. Configurar proveedor de usuarios y
asociarlo con la entidad
24. 1. Configurar firewall y control de
accceso
2. Configurar proveedor de usuarios y
asociarlo con la entidad
3. Añadir rutas /login, /login_check
y /logout
25. 1. Configurar firewall y control de
accceso
2. Configurar proveedor de usuarios y
asociarlo con la entidad
3. Añadir rutas /login, /login_check
y /logout
4. Crear acción y formulario de login
37. 1. Crea el controlador
OfertaBundle/Controller/OfertaController.php
38. 1. Crea el controlador
OfertaBundle/Controller/OfertaController.php
2. Crea el formulario
OfertaBundle/Form/OfertaType.php
39. 1. Crea el controlador
OfertaBundle/Controller/OfertaController.php
2. Crea el formulario
OfertaBundle/Form/OfertaType.php
3. Crea las plantillas index, new, edit y show en
OfertaBundle/Resources/views/Oferta/
40. 1. Crea el controlador
OfertaBundle/Controller/OfertaController.php
2. Crea el formulario
OfertaBundle/Form/OfertaType.php
3. Crea las plantillas index, new, edit y show en
OfertaBundle/Resources/views/Oferta/
4. Crea el archivo oferta.yml en
OfertaBundle/Resources/config/routing/
41. 1. Crea el controlador
OfertaBundle/Controller/OfertaController.php
2. Crea el formulario
OfertaBundle/Form/OfertaType.php
3. Crea las plantillas index, new, edit y show en
OfertaBundle/Resources/views/Oferta/
4. Crea el archivo oferta.yml en
OfertaBundle/Resources/config/routing/
5. Importa el archivo oferta.yml desde el archivo
OfertaBundle/Resources/config/routing.yml
51. activar los nuevos bundles
// app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new SymfonyBundleFrameworkBundleFrameworkBundle(),
new SymfonyBundleSecurityBundleSecurityBundle(),
new SymfonyBundleTwigBundleTwigBundle(),
// ...
new SonatajQueryBundleSonatajQueryBundle(),
new SonataAdminBundleSonataAdminBundle(),
new SonataDoctrineORMAdminBundleSonataDoctrineORMAdminBundle(),
new KnpBundleMenuBundleKnpMenuBundle(),
);