Я использую Symfony 2.7, и у меня возникают проблемы с регистрацией пользователей. Я использую Custom Entity, и я создал пользовательский объект «Operator» с соответствующими переменными и методами. Я использую два метода входа в файл безопасности. Один из них - in_memory
, и я использую его для входа администратора, который работает правильно, а другой - user_db
. Я использую алгоритм bcrypt для шифрования паролей. Когда я пытаюсь войти в систему, отображается сообщение «Недопустимые учетные данные». Что я делаю не так? Спасибо!Ошибка входа в систему пользователя Symfony2.7
security.yml
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
Application\AdminBundle\Entity\Operator:
algorithm: bcrypt
providers:
chain_provider:
chain:
providers: [ in_memory, user_db ]
user_db:
entity:
class: ApplicationAdminBundle:Operator
property: username
SecurityController.php
<?php
namespace Application\AdminBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class SecurityController extends Controller
{
/**
* @Route("/login", name="login")
*/
public function loginAction(Request $request)
{
$authenticationUtils = $this->get('security.authentication_utils');
$error = $authenticationUtils->getLastAuthenticationError();
return $this->render('ApplicationAdminBundle:security:login.html.twig',
array(
'error' => $error,
)
);
}
/**
* @Route("/login_check", name="login_check")
*/
public function loginCheckAction()
{
}
}
методы "Оператор" Entity и SetPassword(), GetPassword()
public function setPassword($password)
{
$this->password = password_hash ($password, PASSWORD_BCRYPT);
return $this;
}
/**
* Get password
*
* @return string
*/
public function getPassword()
{
return $this->password;
}
Все, что я сделал неправильно, было таблицей базы данных, потому что я установил поле пароля как «varchar (25)», и хешированный пароль не мог быть полностью вставлен. Я изменил его на «varchar (255)», и теперь все в порядке. Теперь каждый пользователь может войти в систему. – XhensB