Я не идет Login form в symfony, когда пароль и пользователь правилен

Я стараюсь создавать login в symfony 3.4, которые присоединяли бы к существующей базе данных. Когда ты не удаешься пользователь, и пароль login выходит сообщение неправильных верительных грамот, но когда я помещаю правильный пользователь, и пароль плохо не выходит сообщение и если я помещаю уже правильный пользователь и правильный пароль также не функционирует, я оставляю вам здесь мой код, который должен видеть, что он происходит с ним.

Мы начинаем с security.yml

security:

     encoders:
            FOS\UserBundle\Model\UserInterface: bcrypt
            AppBundle\Entity\Users:
                algorithm: bcrypt
                cost: 4

        providers:
            our_db_provider:
                entity:
                    class: AppBundle:Users
                    property: user

        firewalls:
            dev:
                http_basic: ~
                provider: our_db_provider
                pattern: ^/(_(profiler|wdt)|css|images|js)/
                security: false
                user_checker: security.user_checker
                anonymous: ~
                form_login:
                    login_path: login
                    check_path: login

            main:
                provider: our_db_provider
                user_checker: security.user_checker
                anonymous: ~
                form_login:
                    login_path: login
                    check_path: login

        access_control:
            - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/, roles: ROLE_USER }            

Мы продолжаем с entitidad пользователей

<?php

namespace AppBundle\Entity;

/**
 * Users
 */
class Users
{
    /**
     * @var string
     */
    private $user;

    /**
     * @var string
     */
    private $pass;

    /**
     * @var string
     */
    private $name;

    /**
     * @var string
     */
    private $surname;

    /**
     * @var string
     */
    private $email;

    /**
     * @var string|null
     */
    private $email2;

    /**
     * @var string|null
     */
    private $tlf;

    /**
     * @var string|null
     */
    private $movil;

    /**
     * @var string
     */
    private $extmovil;

    /**
     * @var string
     */
    private $menu;

    /**
     * @var bool|null
     */
    private $admin;

    /**
     * @var int
     */
    private $primeraVez = '1';

    /**
     * @var \DateTime
     */
    private $changePass;

    /**
     * @var int
     */
    private $idUser;


    /**
     * Set user.
     *
     * @param string $user
     *
     * @return Users
     */
    public function setUser($user)
    {
        $this->user = $user;

        return $this;
    }

    /**
     * Get user.
     *
     * @return string
     */
    public function getUser()
    {
        return $this->user;
    }

    /**
     * Set pass.
     *
     * @param string $pass
     *
     * @return Users
     */
    public function setPass($pass)
    {
        $this->pass = $pass;

        return $this;
    }

    /**
     * Get pass.
     *
     * @return string
     */
    public function getPass()
    {
        return $this->pass;
    }

      /**
     * Get password.
     *
     * @return string
     */
    public function getPassword()
    {
        return $this->pass;
    }

    /**
     * Set name.
     *
     * @param string $name
     *
     * @return Users
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name.
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set surname.
     *
     * @param string $surname
     *
     * @return Users
     */
    public function setSurname($surname)
    {
        $this->surname = $surname;

        return $this;
    }

    /**
     * Get surname.
     *
     * @return string
     */
    public function getSurname()
    {
        return $this->surname;
    }

    /**
     * Set email.
     *
     * @param string $email
     *
     * @return Users
     */
    public function setEmail($email)
    {
        $this->email = $email;

        return $this;
    }

    /**
     * Get email.
     *
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set email2.
     *
     * @param string|null $email2
     *
     * @return Users
     */
    public function setEmail2($email2 = null)
    {
        $this->email2 = $email2;

        return $this;
    }

    /**
     * Get email2.
     *
     * @return string|null
     */
    public function getEmail2()
    {
        return $this->email2;
    }

    /**
     * Set tlf.
     *
     * @param string|null $tlf
     *
     * @return Users
     */
    public function setTlf($tlf = null)
    {
        $this->tlf = $tlf;

        return $this;
    }

    /**
     * Get tlf.
     *
     * @return string|null
     */
    public function getTlf()
    {
        return $this->tlf;
    }

    /**
     * Set movil.
     *
     * @param string|null $movil
     *
     * @return Users
     */
    public function setMovil($movil = null)
    {
        $this->movil = $movil;

        return $this;
    }

    /**
     * Get movil.
     *
     * @return string|null
     */
    public function getMovil()
    {
        return $this->movil;
    }

    /**
     * Set extmovil.
     *
     * @param string $extmovil
     *
     * @return Users
     */
    public function setExtmovil($extmovil)
    {
        $this->extmovil = $extmovil;

        return $this;
    }

    /**
     * Get extmovil.
     *
     * @return string
     */
    public function getExtmovil()
    {
        return $this->extmovil;
    }

    /**
     * Set menu.
     *
     * @param string $menu
     *
     * @return Users
     */
    public function setMenu($menu)
    {
        $this->menu = $menu;

        return $this;
    }

    /**
     * Get menu.
     *
     * @return string
     */
    public function getMenu()
    {
        return $this->menu;
    }

    /**
     * Set admin.
     *
     * @param bool|null $admin
     *
     * @return Users
     */
    public function setAdmin($admin = null)
    {
        $this->admin = $admin;

        return $this;
    }

    /**
     * Get admin.
     *
     * @return bool|null
     */
    public function getAdmin()
    {
        return $this->admin;
    }

    /**
     * Set primeraVez.
     *
     * @param int $primeraVez
     *
     * @return Users
     */
    public function setPrimeraVez($primeraVez)
    {
        $this->primeraVez = $primeraVez;

        return $this;
    }

    /**
     * Get primeraVez.
     *
     * @return int
     */
    public function getPrimeraVez()
    {
        return $this->primeraVez;
    }

    /**
     * Set changePass.
     *
     * @param \DateTime $changePass
     *
     * @return Users
     */
    public function setChangePass($changePass)
    {
        $this->changePass = $changePass;

        return $this;
    }

    /**
     * Get changePass.
     *
     * @return \DateTime
     */
    public function getChangePass()
    {
        return $this->changePass;
    }

    /**
     * Get idUser.
     *
     * @return int
     */
    public function getIdUser()
    {
        return $this->idUser;
    }

//     public function getUsername()
// {
//     return $this->email;
// }

    public function getSalt()
    {
        return null;
    }

    // public function getRoles()
    // {
    // // En este caso definimos un rol fijo, en el caso de que tengamos un campo role en la tabla de la BBDD    tendríamos que hacer $this->getRole()
    //     return array('ROLE_USER');
    // }

    public function eraseCredentials()
    {
    }

}

Хороший twig - просто формуляр, но если, что функционирует, так как с in memory в secure.yml если, что функционировал до настоящего времени, что я принял решение поместить ему базу данных.

Я верю в то, что ошибка возможно эта, в которой только находит пользователь но пароль, не знала, которому колонны не хватает.

0
задан 04.06.2019, 14:08
1 ответ

Чтобы мочь возвышать login используя поставщик, свойственный базе данных (например, таблица Пользователь [Users в твоем случае]) должен осуществлять класс Symfony UserInterface, этот класс добавляет какие-то функции, которые ты должен определять как пример, который я выставляю.

<?php
namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * @ORM\Entity(repositoryClass="App\Repository\UsuarioRepository")
 *     
 */
class Usuario implements UserInterface
{

    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;


    ###############################################################
    ###################### Custom Functions #######################
    ###############################################################

    public function getRoles()
    {
        return [
            'ROLE_USUARIO', // si tienes una relación con una clase rol, debes retornar por este lugar en formato arra
        ];
    }


    public function getPassword()
    {
        return $this->password; // retorna tu atributo de password
    }

    public function getSalt()
    {
        // TODO: Implement getSalt() method. //si usas algún encriptador con salt, va acá
    }

    public function getUsername()
    {
        return $this->correo; // el username que quieres usar
    }

    public function eraseCredentials()
    {
        // TODO: Implement eraseCredentials() method.
    }

}

В Восток соединил ты можешь видеть ее documentaciГіn, в котором ты нуждаешься (часть serialize не является строго необходимой). Помни, что password пользователя уже должен быть предохраненным от способа encriptada в BD, чтобы реализовывать ее acciГіn login.

0
ответ дан 02.12.2019, 01:19

Теги

Похожие вопросы