以下是我的数据库架构:
用户
- uid *
- 用户名
user_auth
- uid *
- 密码
使用这种模式,我遇到了Symfony2 Authenticate的大问题。我在http://symfony.com/doc/current/cookbook/security/entity_provider.html阅读了这本食谱。但是我的项目的数据模型与教程完全不同。
如何从user_auth获取密码进行身份验证?
通常情况下,我会考虑使用JOIN查询获取这两个信息,然后将它们与用户的提交数据进行比较,但不能很好地理解Doctrine ORM模型会阻止我。
答案 0 :(得分:0)
创建一个custom User Provider,您可以在其中放置自定义用户数据检索逻辑。请注意,您的User
课程必须实施UserInterface
界面。
答案 1 :(得分:0)
我找到了答案。使用CUSTOM USER PROVIDER。
之后,我坚持使用Doctrine ORM来获取我的de-normlize架构。在通过更改我的架构以适应ORM放弃之前,我已经尝试在阅读本教程后再次映射我的ORM:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite-primary-keys.html。但它并没有像我想象的那样奏效。然后下面的答案帮助我找到了方法。
现在,一切正常。我很高兴我可以在需要时使用DBAL,但不会失去ORM的好处。