【发布时间】:2015-04-28 08:04:17
【问题描述】:
我尝试向我的网站添加基本身份验证服务。我尝试登录时收到“没有为帐户配置编码器”。
我使用“Visiteur”实体,如下所示:
namespace WilsonCorp\Bundle\Comptabilite\FraisBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* Visiteur
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="WilsonCorp\Bundle\Comptabilite\FraisBundle\Entity\VisiteurRepository")
*/
class Visiteur implements UserInterface, \Serializable
{
[...]
/**
* @var string
*
* @ORM\Column(name="password", type="string", length=20)
*/
private $password;
/**
* @ORM\Column(name="salt", type="string", length=255)
*/
private $salt;
public function eraseCredentials()
{
}
public function serialize()
{
return serialize(array(
$this->id,
));
}
public function unserialize($serialized)
{
list (
$this->id,
) = unserialize($serialized);
}
/**
* Constructor
*/
public function __construct()
{
$this->fichesFrais = new \Doctrine\Common\Collections\ArrayCollection();
$this->salt = md5(uniqid(null, true));
}
我的 security.yml :
security:
role_hierarchy:
ROLE_COMPTABLE: ROLE_USER
ROLE_ADMIN: [ROLE_USER, ROLE_COMPTABLE]
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH, ROLE_COMPTABLE]
providers:
ddbUsers:
entity: { class: WilsonCorpComptabiliteFraisBundle:Visiteur, property: username}
firewalls:
main_login:
pattern: ^/login$
anonymous: true
main:
pattern: ^/
anonymous: false
provider: ddbUsers
form_login:
login_path: login
check_path: login_check
logout:
path: logout
target: /
我错过了什么吗? Visiteur 控制器中是否有任何调整?
我已经尝试添加行
encoders:
WilsonCorp\Comptabilite\FraisBundle\Entity\Visiteur: md5
但这并不能解决问题。
【问题讨论】: