# User Authentication ## Create a user class Permissions are linked to a user object. ```bash symfony console make:user # (All default yes) symfony console make:auth # (1 for login form) symfony console make:registration-form symfony console make:reset-password ``` Now you will want to sync the database (using docker) ```bash sudo docker-compose run symfony php bin/console make:migration sudo docker-compose run symfony php bin/console doctrine:migrations:migrate ``` Note: 'symfony' is the name of your symfony app in docker-compose (such as app) ## Login Form The above already created this. ```php bin/console make:controller Login``` You have to add ```yaml form_login: login_path: app_login check_path: app_login ``` to the firewalls section under main of config/packages/security.yaml ### Modify the controller ```php getLastAuthenticationError(); $lastUsername = $authenticationUtils->getLastUsername(); return $this->render('login/index.html.twig', [ 'last_username' => $lastUsername, 'error' => $error, ]); } } ``` ### Modify the template ```php {% extends '@nytwig/master.html.twig' %} {% block title %}Hello LoginController!{% endblock %} {% block content %} {% if error %}