我想了解安全性如何与用户提供程序一起使用。在security.yaml中,我可以写:
providers:
entity_provider:
entity:
class: App\Entity\User
property: userLogin
...
firewalls:
...
json_login:
username_path: userLogin
因此将“ userLogin”定义为适当的字段,以用作身份验证的“用户名”。那是对的吗?然后,为什么我的User类似乎必须实现Symfony\Component\Security\Core\User\UserInterface::getUsername()
?如果这些函数返回与conf不同的东西,应该怎么办?在哪种情况下将使用一种而不是其他?
答案 0 :(得分:1)
该方法: Equatable
用于symfony中,以检查wich属性是否用作标识符,它在身份验证器,防火墙中使用...它将由所有身份验证方法使用。您应该写
Symfony\Component\Security\Core\User\UserInterface::getUsername()
当您在常规网页上提交登录表单时,将查看conf文件中的属性。是多余的。