SonataUserBundle icon indicating copy to clipboard operation
SonataUserBundle copied to clipboard

Cannot log in after upgrade to symfony 5.4

Open Mysak007 opened this issue 2 years ago • 0 comments

Environment

Sonata packages

show

sonata-project/admin-bundle              4.11.0 4.11.0 The missing Symfony Admin Generator
sonata-project/block-bundle              4.12.0 4.12.0 Symfony SonataBlockBundle
sonata-project/cache                     2.2.0  2.2.0  Cache library
Package sonata-project/cache is abandoned, you should avoid using it. No replacement was suggested.
sonata-project/doctrine-extensions       1.16.0 1.16.0 Doctrine2 behavioral extensions
sonata-project/doctrine-orm-admin-bundle 4.2.8  4.2.8  Integrate Doctrine ORM into the SonataAdminBundle
sonata-project/exporter                  2.11.0 2.11.0 Lightweight Exporter library
sonata-project/form-extensions           1.13.1 1.13.1 Symfony form extensions
sonata-project/translation-bundle        3.0.1  3.0.1  SonataTranslationBundle
sonata-project/twig-extensions           1.9.1  1.9.1  Sonata twig extensions
sonata-project/user-bundle               5.0.0  5.0.0  Symfony SonataUserBundle

Symfony packages

show

symfony/acl-bundle                 v2.3.0  v2.3.0  Symfony AclBundle
symfony/asset                      v5.4.7  v5.4.7  Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files
symfony/browser-kit                v5.4.3  v5.4.3  Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically
symfony/cache                      v5.4.8  v5.4.8  Provides an extended PSR-6, PSR-16 (and tags) implementation
symfony/cache-contracts            v2.5.1  v2.5.1  Generic abstractions related to caching
symfony/config                     v5.4.8  v5.4.8  Helps you find, load, combine, autofill and validate configuration values of any kind
symfony/console                    v5.4.8  v5.4.8  Eases the creation of beautiful and testable command line interfaces
symfony/css-selector               v5.4.3  v5.4.3  Converts CSS selectors to XPath expressions
symfony/debug-bundle               v5.4.3  v5.4.3  Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework
symfony/dependency-injection       v5.4.8  v5.4.8  Allows you to standardize and centralize the way objects are constructed in your application
symfony/deprecation-contracts      v2.5.1  v2.5.1  A generic function and convention to trigger deprecation notices
symfony/doctrine-bridge            v5.4.8  v5.4.8  Provides integration for Doctrine with various Symfony components
symfony/dom-crawler                v5.4.6  v5.4.6  Eases DOM navigation for HTML and XML documents
symfony/dotenv                     v5.4.5  v5.4.5  Registers environment variables from a .env file
symfony/error-handler              v5.4.8  v5.4.8  Provides tools to manage errors and ease debugging PHP code
symfony/event-dispatcher           v5.4.3  v5.4.3  Provides tools that allow your application components to communicate with each other by dispatching events and listening to them
symfony/event-dispatcher-contracts v2.5.1  v2.5.1  Generic abstractions related to dispatching event
symfony/expression-language        v5.4.8  v5.4.8  Provides an engine that can compile and evaluate expressions
symfony/filesystem                 v5.4.7  v5.4.7  Provides basic utilities for the filesystem
symfony/finder                     v5.4.8  v5.4.8  Finds files and directories via an intuitive fluent interface
symfony/flex                       v1.18.6 v1.18.6 Composer plugin for Symfony
symfony/form                       v5.4.8  v5.4.8  Allows to easily create, process and reuse HTML forms
symfony/framework-bundle           v5.4.8  v5.4.8  Provides a tight integration between Symfony components and the Symfony full-stack framework
symfony/http-client                v5.4.8  v5.4.8  Provides powerful methods to fetch HTTP resources synchronously or asynchronously
symfony/http-client-contracts      v2.5.1  v2.5.1  Generic abstractions related to HTTP clients
symfony/http-foundation            v5.4.8  v5.4.8  Defines an object-oriented layer for the HTTP specification
symfony/http-kernel                v5.4.8  v5.4.8  Provides a structured process for converting a Request into a Response
symfony/intl                       v5.4.8  v5.4.8  Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library
symfony/mailer                     v5.4.8  v5.4.8  Helps sending emails
symfony/maker-bundle               v1.40.1 v1.40.1 Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.
symfony/mime                       v5.4.8  v5.4.8  Allows manipulating MIME messages
symfony/monolog-bridge             v5.4.3  v5.4.3  Provides integration for Monolog with various Symfony components
symfony/monolog-bundle             v3.7.1  v3.7.1  Symfony MonologBundle
symfony/options-resolver           v5.4.3  v5.4.3  Provides an improved replacement for the array_replace PHP function
symfony/password-hasher            v5.4.8  v5.4.8  Provides password hashing utilities
symfony/phpunit-bridge             v5.4.8  v6.0.8  Provides utilities for PHPUnit, especially user deprecation notices management
symfony/polyfill-intl-grapheme     v1.25.0 v1.25.0 Symfony polyfill for intl's grapheme_* functions
symfony/polyfill-intl-icu          v1.25.0 v1.25.0 Symfony polyfill for intl's ICU-related data and classes
symfony/polyfill-intl-idn          v1.25.0 v1.25.0 Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions
symfony/polyfill-intl-normalizer   v1.25.0 v1.25.0 Symfony polyfill for intl's Normalizer class and related functions
symfony/polyfill-mbstring          v1.25.0 v1.25.0 Symfony polyfill for the Mbstring extension
symfony/polyfill-php72             v1.25.0 v1.25.0 Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
symfony/polyfill-php73             v1.25.0 v1.25.0 Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions
symfony/polyfill-php80             v1.25.0 v1.25.0 Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions
symfony/polyfill-php81             v1.25.0 v1.25.0 Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions
symfony/polyfill-uuid              v1.25.0 v1.25.0 Symfony polyfill for uuid functions
symfony/process                    v5.4.8  v5.4.8  Executes commands in sub-processes
symfony/property-access            v5.4.8  v5.4.8  Provides functions to read and write from/to an object or array using a simple string notation
symfony/property-info              v5.4.7  v5.4.7  Extracts information about PHP class' properties using metadata of popular sources
symfony/proxy-manager-bridge       v5.4.6  v5.4.6  Provides integration for ProxyManager with various Symfony components
symfony/routing                    v5.4.8  v5.4.8  Maps an HTTP request to a set of configuration variables
symfony/security-acl               v3.3.1  v3.3.1  Symfony Security Component - ACL (Access Control List)
symfony/security-bundle            v5.4.8  v5.4.8  Provides a tight integration of the Security component into the Symfony full-stack framework
symfony/security-core              v5.4.8  v5.4.8  Symfony Security Component - Core Library
symfony/security-csrf              v5.4.3  v5.4.3  Symfony Security Component - CSRF Library
symfony/security-guard             v5.4.3  v5.4.3  Symfony Security Component - Guard
symfony/security-http              v5.4.8  v5.4.8  Symfony Security Component - HTTP Integration
symfony/serializer                 v5.4.8  v5.4.8  Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.
symfony/service-contracts          v2.5.1  v2.5.1  Generic abstractions related to writing services
symfony/stopwatch                  v5.4.5  v5.4.5  Provides a way to profile code
symfony/string                     v5.4.8  v5.4.8  Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way
symfony/templating                 v5.4.3  v5.4.3  Provides all the tools needed to build any kind of template system
symfony/translation                v5.4.8  v5.4.8  Provides tools to internationalize your application
symfony/translation-contracts      v2.5.1  v2.5.1  Generic abstractions related to translation
symfony/twig-bridge                v5.4.8  v5.4.8  Provides integration for Twig with various Symfony components
symfony/twig-bundle                v5.4.8  v5.4.8  Provides a tight integration of Twig into the Symfony full-stack framework
symfony/validator                  v5.4.8  v5.4.8  Provides tools to validate values
symfony/var-dumper                 v5.4.8  v5.4.8  Provides mechanisms for walking through any arbitrary PHP variable
symfony/var-exporter               v5.4.8  v5.4.8  Allows exporting any serializable PHP data structure to plain PHP code
symfony/web-link                   v5.4.3  v5.4.3  Manages links between resources
symfony/web-profiler-bundle        v5.4.8  v5.4.8  Provides a development tool that gives detailed information about the execution of any request
symfony/yaml                       v5.4.3  v5.4.3  Loads and dumps YAML files

PHP version

PHP 7.4.9 

Subject

Cannot login to admin after upgrading to sonata admin v. 4.11 and user bundle v.5. I upgraded from symfony v4.4, old FOSUser bundle, and followed all setting in documentation.

But after trying to login I cannot do so. I get error with wrong credentials.

here is my security.yaml

security:
    enable_authenticator_manager: true

    role_hierarchy:
        ROLE_PARTNER: [ ROLE_USER ]
        ROLE_ADMIN: [ ROLE_USER, ROLE_SONATA_ADMIN ]
        ROLE_SUPER_ADMIN: [ ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
        SONATA:

    password_hashers:
      Sonata\UserBundle\Model\UserInterface: auto

    providers:
      sonata_user_bundle:
        id: sonata.user.security.user_provider

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        admin:
            lazy: true
            pattern: /admin(.*)
            provider: sonata_user_bundle
            context: user
            form_login:
              login_path: sonata_user_admin_security_login
              check_path: sonata_user_admin_security_check
              default_target_path: sonata_admin_dashboard
            logout:
              path: sonata_user_admin_security_logout
              target: sonata_user_admin_security_login
            remember_me:
              secret: '%env(APP_SECRET)%'
              lifetime: 2629746
              path: /admin
        main:
            pattern: .*
            provider: sonata_user_bundle
            context: user
            form_login:
                login_path: /prihlaseni
                use_forward: false
                check_path: /prihlaseni
                failure_path: null
            logout: true

            # activate different ways to authenticate
            # https://symfony.com/doc/current/security.html#firewalls-authentication

            # https://symfony.com/doc/current/security/impersonating_user.html
            # switch_user: true

    # Easy way to control access for large sections of your site
    # Note: Only the *first* access control that matches will be used
    access_control:
        # Admin login page needs to be accessed without credential
        - { path: ^/admin/login$, role: PUBLIC_ACCESS }
        - { path: ^/admin/logout$, role: PUBLIC_ACCESS }
        - { path: ^/admin/login_check$, role: PUBLIC_ACCESS }
        - { path: ^/admin/request$, role: PUBLIC_ACCESS }
        - { path: ^/admin/check-email$, role: PUBLIC_ACCESS }
        - { path: ^/admin/resetting/.*$, role: PUBLIC_ACCESS }
        - { path: ^/admin/reset/.*$, role: PUBLIC_ACCESS }

        - { path: ^/admin/, role: [ ROLE_ADMIN, ROLE_SONATA_ADMIN ] }
        - { path: ^/.*, role: PUBLIC_ACCESS }

acl:
  connection: default

When I look into log i get:

[2022-04-29T07:48:49.195976+00:00] security.INFO: Authenticator failed. {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\UserNotFoundException(code: 0): Username \"admin\" does not exist. at C:\\wamp64\\www\\coders-devstack\\vendor\\sonata-project\\user-bundle\\src\\Security\\UserProvider.php:95)","authenticator":"Symfony\\Component\\Security\\Http\\Authenticator\\FormLoginAuthenticator"} []
[2022-04-29T07:48:49.196666+00:00] security.DEBUG: Authentication failure, redirect triggered. {"failure_path":"sonata_user_admin_security_login"} []
[2022-04-29T07:48:49.874742+00:00] security.DEBUG: Checking for authenticator support. {"firewall_name":"admin","authenticators":2} []
[2022-04-29T07:48:49.875427+00:00] security.DEBUG: Checking support on authenticator. {"firewall_name":"admin","authenticator":"Symfony\\Component\\Security\\Http\\Authenticator\\FormLoginAuthenticator"} []
[2022-04-29T07:48:49.875754+00:00] security.DEBUG: Authenticator does not support the request. {"firewall_name":"admin","authenticator":"Symfony\\Component\\Security\\Http\\Authenticator\\FormLoginAuthenticator"} []
[2022-04-29T07:48:49.876118+00:00] security.DEBUG: Checking support on authenticator. {"firewall_name":"admin","authenticator":"Symfony\\Component\\Security\\Http\\Authenticator\\RememberMeAuthenticator"} []
[2022-04-29T07:48:49.876434+00:00] security.DEBUG: Authenticator does not support the request. {"firewall_name":"admin","authenticator":"Symfony\\Component\\Security\\Http\\Authenticator\\RememberMeAuthenticator"} []

but my User entity is created as in documentation

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Sonata\UserBundle\Entity\BaseUser;

/**
 * @ORM\Entity
 * @ORM\Table(name="sonata_user__user")
 */
class SonataUserUser extends BaseUser
{
  /**
   * @ORM\Id
   * @ORM\GeneratedValue
   * @ORM\Column(type="integer")
   */
  protected $id;
}

In the db, admin user is presented. So please can you help me what am I doing wrong? I spend two days already trying to find the error in the configuration.

Mysak007 avatar Apr 29 '22 08:04 Mysak007