1

我正在尝试使用 symfony2 登录。我有我的实体类连接到数据库。在我的表中,我只有用户的电子邮件,即用户名。如果我知道我没有真实的用户名,我应该使用 getUsername() 方法吗?

当我尝试删除此方法时,我收到一条致命错误消息:

Fatal error: Class MDPI\BackendBundle\Entity\Users contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Symfony\Component\Security\Core\User\UserInterface::getUsername) in /home/milos/workspace/mdpi-login2/src/MDPI/BackendBundle/Entity/Users.php on line 768 

我应该使用

getUsername()
{
  return this->email;
}

或者有更好的方法吗???

谢谢你。

4

1 回答 1

2

使用本机 Symfony SecurityBundle,您只需指定您用作登录字符串的实体字段,在app/config/security.yml

security:

    encoders:
        MDPI\BackendBundle\Entity\User: plaintext

    providers:
        entity:
            entity: { class: MDPI\BackendBundle\Entity\User, property: email }

    firewalls:
        ...
于 2012-09-24T14:21:13.263 回答