Flag of Ukraine
SymfonyCasts stands united with the people of Ukraine

Symfony 5 Seguridad: Autenticadores

4:41:51

What you'll be learning

¡Este tutorial también funciona muy bien para Symfony 6!
// composer.json
{
    "require": {
        "php": "^7.4.1 || ^8.0.0",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "babdev/pagerfanta-bundle": "^3.3", // v3.3.0
        "composer/package-versions-deprecated": "^1.11", // 1.11.99.4
        "doctrine/annotations": "^1.0", // 1.13.2
        "doctrine/doctrine-bundle": "^2.1", // 2.6.3
        "doctrine/doctrine-migrations-bundle": "^3.0", // 3.1.1
        "doctrine/orm": "^2.7", // 2.10.1
        "knplabs/knp-markdown-bundle": "^1.8", // 1.9.0
        "knplabs/knp-time-bundle": "^1.11", // v1.16.1
        "pagerfanta/doctrine-orm-adapter": "^3.3", // v3.3.0
        "pagerfanta/twig": "^3.3", // v3.3.0
        "phpdocumentor/reflection-docblock": "^5.2", // 5.2.2
        "scheb/2fa-bundle": "^5.12", // v5.12.1
        "scheb/2fa-qr-code": "^5.12", // v5.12.1
        "scheb/2fa-totp": "^5.12", // v5.12.1
        "sensio/framework-extra-bundle": "^6.0", // v6.2.0
        "stof/doctrine-extensions-bundle": "^1.4", // v1.6.0
        "symfony/asset": "5.3.*", // v5.3.4
        "symfony/console": "5.3.*", // v5.3.7
        "symfony/dotenv": "5.3.*", // v5.3.8
        "symfony/flex": "^1.3.1", // v1.17.5
        "symfony/form": "5.3.*", // v5.3.8
        "symfony/framework-bundle": "5.3.*", // v5.3.8
        "symfony/monolog-bundle": "^3.0", // v3.7.0
        "symfony/property-access": "5.3.*", // v5.3.8
        "symfony/property-info": "5.3.*", // v5.3.8
        "symfony/rate-limiter": "5.3.*", // v5.3.4
        "symfony/runtime": "5.3.*", // v5.3.4
        "symfony/security-bundle": "5.3.*", // v5.3.8
        "symfony/serializer": "5.3.*", // v5.3.8
        "symfony/stopwatch": "5.3.*", // v5.3.4
        "symfony/twig-bundle": "5.3.*", // v5.3.4
        "symfony/ux-chartjs": "^1.3", // v1.3.0
        "symfony/validator": "5.3.*", // v5.3.8
        "symfony/webpack-encore-bundle": "^1.7", // v1.12.0
        "symfony/yaml": "5.3.*", // v5.3.6
        "symfonycasts/verify-email-bundle": "^1.5", // v1.5.0
        "twig/extra-bundle": "^2.12|^3.0", // v3.3.3
        "twig/string-extra": "^3.3", // v3.3.3
        "twig/twig": "^2.12|^3.0" // v3.3.3
    },
    "require-dev": {
        "doctrine/doctrine-fixtures-bundle": "^3.3", // 3.4.0
        "symfony/debug-bundle": "5.3.*", // v5.3.4
        "symfony/maker-bundle": "^1.15", // v1.34.0
        "symfony/var-dumper": "5.3.*", // v5.3.8
        "symfony/web-profiler-bundle": "5.3.*", // v5.3.8
        "zenstruck/foundry": "^1.1" // v1.13.3
    }
}

¡Es la hora de la seguridad! ¡Symfony 5.3 viene con una versión reimaginada de su sistema de seguridad y yo ❤️ lo tengo! Sí, sigue siendo súper flexible y fiable. Pero las "tripas" se han agilizado y simplificado, facilitando tu trabajo y ofreciéndote un código legible si necesitas bucear en el núcleo.

En este curso, pasaremos de una introducción a la seguridad de Symfony a una aplicación completa con usuarios, permisos, votantes personalizados y múltiples formas de autenticación:

  • Generar tu clase de usuario con make:user
  • Fundamentos de seguridad y cortafuegos
  • Creación de un formulario de inicio de sesión personalizado con un autentificador
  • Objeto pasaporte y credenciales
  • Protección CSRF
  • Sistema de autenticación por token de la API
  • Proveedores de usuarios (por qué los necesitas, pero no te importa)
  • Hashing de contraseñas
  • Cierre de sesión
  • Proteger URLs enteras con access_control(s)
  • IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, PUBLIC_ACCESS
  • ¡Control de acceso con roles! ROLE_USER
  • Denegación de acceso en un controlador
  • Votantes y permisos complejos
  • Jerarquías de roles
  • Suplantación (switch_user)
  • Aceleración del inicio de sesión
  • Inicio de sesión automático (tras el registro)
  • ¡Enganche a la seguridad con eventos!
  • Autoría de dos factores (2FA)

Así que vamos a make:user & make:auth nuestro camino hacia... make:profit... ¡o al menos a un gran sistema de seguridad!


Your Guides

Ryan Weaver

Buy Access
Login or register to track your progress!

Questions? Conversation?