无法识别的选项"class, property" "security.providers.db_provider"


    **Security.yml** Creating Authentication (Log in page)
        I have attached a error screen shot i am unable to view the page.

security.yml 创建身份验证(登录页面) 我附上了错误的屏幕截图,我无法查看页面。 security.yml 创建身份验证(登录页面) 我附上了错误的屏幕截图,我无法查看页面。 security.yml 创建身份验证(登录页面) 我附上了错误的屏幕截图,我无法查看页面。

     [![enter image description here][1]][1]
        # To get started with security, check out the documentation:
        # https://symfony.com/doc/current/security.html
        security:
            encoders:
                AppBundleEntityUser:
                algorithm: bcrypt 

            # https://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
            providers:
                db_provider:
                    entity:
                    class: AppBundle:User
                    property: username

            firewalls:
                # disables authentication for assets and the profiler, adapt it according to your needs
                dev:
                    pattern: ^/(_(profiler|wdt)|css|images|js)/
                    security: false
                main:
                    anonymous: ~
                    form_login:
                        login_path: login
                        check_path: login

    **User.php** This is my entity
        <?php
        namespace AppBundleEntity;
        use DoctrineORMMapping as ORM;
        use SymfonyComponentSecurityCoreUserUserInterface;
        /**
         * @ORMTable(name="user")
         * @ORMEntity(repositoryClass="AppBundleRepositoryUserRepository")
         */
        class User implements UserInterface, Serializable
        {
            /**
             * @ORMColumn(type="integer")
             * @ORMId
             * @ORMGeneratedValue(strategy="AUTO")
             */
            private $id;
            /**
             * @ORMColumn(type="string", length=25, unique=true)
             */
            private $username;
            /**
             * @ORMColumn(type="string", length=64)
             */
            private $password;
            /**
             * @ORMColumn(type="string", length=60, unique=true)
             */
            private $email;
            /**
             * @ORMColumn(name="is_active", type="boolean")
             */
            private $isActive;
            public function __construct()
            {
                $this->isActive = true;
                // may not be needed, see section on salt below
                // $this->salt = md5(uniqid('', true));
            }
            public function getUsername()
            {
                return $this->username;
            }
            public function getSalt()
            {
                // you *may* need a real salt depending on your encoder
                // see section on salt below
                return null;
            }
            public function getPassword()
            {
                return $this->password;
            }
            public function getRoles()
            {
                return array('ROLE_USER');
            }
            public function eraseCredentials()
            {
            }
            /** @see Serializable::serialize() */
            public function serialize()
            {
                return serialize(array(
                    $this->id,
                    $this->username,
                    $this->password,
                    // see section on salt below
                    // $this->salt,
                ));
            }
            /** @see Serializable::unserialize() */
            public function unserialize($serialized)
            {
                list (
                    $this->id,
                    $this->username,
                    $this->password,
                    // see section on salt below
                    // $this->salt
                ) = unserialize($serialized);
            }
        }

      [1]: https://i.stack.imgur.com/U1IJX.jpg

    **config.yml** 
This is my config.yml here i added driver pdo_sqlite and form_theme: -'bootstrap_3_layout.html.twig'
    imports:
        - { resource: parameters.yml }
        - { resource: security.yml }
        - { resource: services.yml }
    # Put parameters here that don't need to change on each machine where the app is deployed
    # https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
    parameters:
        locale: en
    framework:
        #esi: ~
        #translator: { fallbacks: ['%locale%'] }
        secret: '%secret%'
        router:
            resource: '%kernel.project_dir%/app/config/routing.yml'
            strict_requirements: ~
        form: ~
        csrf_protection: ~
        validation: { enable_annotations: true }
        #serializer: { enable_annotations: true }
        templating:
            engines: ['twig']
        default_locale: '%locale%'
        trusted_hosts: ~
        session:
            # https://symfony.com/doc/current/reference/configuration/framework.html#handler-id
            handler_id: session.handler.native_file
            save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
        fragments: ~
        http_method_override: true
        assets: ~
        php_errors:
            log: true
    # Twig Configuration
    twig:
        debug: '%kernel.debug%'
        strict_variables: '%kernel.debug%'
        form_theme:
        - 'bootstrap_3_layout.html.twig'
    # Doctrine Configuration
    doctrine:
        dbal:
            driver: pdo_sqlite
            host: '%database_host%'
            port: '%database_port%'
            dbname: '%database_name%'
            user: '%database_user%'
            password: '%database_password%'
            charset: UTF8
            path: '% database_path %'
            # if using pdo_sqlite as your database driver:
            #   1. add the path in parameters.yml
            #     e.g. database_path: '%kernel.project_dir%/var/data/data.sqlite'
            #   2. Uncomment database_path in parameters.yml.dist
            #   3. Uncomment next line:
            #path: '%database_path%'
        orm:
            auto_generate_proxy_classes: '%kernel.debug%'
            naming_strategy: doctrine.orm.naming_strategy.underscore
            auto_mapping: true
    # Swiftmailer Configuration
    swiftmailer:
        transport: '%mailer_transport%'
        host: '%mailer_host%'
        username: '%mailer_user%'
        password: '%mailer_password%'
        spool: { type: memory }

    **parameters.yml**
This is my parameters.yml file i didn't change anything in this file. 
    # This file is auto-generated during the composer install
    parameters:
        database_host: 127.0.0.1
        database_port: null
        database_name: symfony
        database_user: root
        database_password: null
        mailer_transport: smtp
        mailer_host: 127.0.0.1
        mailer_user: null
        mailer_password: null
        secret: ab2af876f87b559feb166e695a29ec552758419a

    **parameters.yml.dist**
This is my **parameters.yml.dist** here i uncomment database_path:
This is my **parameters.yml.dist** here i uncomment database_path: 
This is my **parameters.yml.dist** here i uncomment database_path: 
This is my **parameters.yml.dist** here i uncomment database_path:  

    # This file is a "template" of what your parameters.yml file should look like
    # Set parameters here that may be different on each deployment target of the app, e.g. development, staging, production.
    # https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
    parameters:
        database_host: 127.0.0.1
        database_port: ~
        database_name: symfony
        database_user: root
        database_password: ~
        # You should uncomment this if you want to use pdo_sqlite
        database_path: '%kernel.project_dir%/var/data/data.sqlite'
        mailer_transport: smtp
        mailer_host: 127.0.0.1
        mailer_user: ~
        mailer_password: ~
        # A secret key that's used to generate certain security-related tokens
        secret: ThisTokenIsNotSoSecretChangeIt

您的配置/凹痕是错误的。

更改

providers:
    db_provider:
        entity:
        class: AppBundle:User
        property: username

to

providers:
    db_provider:
        entity: 
            class: AppBundle:User
            property: username

参考:http://symfony.com/doc/current/referent/configuration/security.html

相关内容

  • 没有找到相关文章

最新更新