-1

下面是我的数据库架构:

用户

  • 用户名 *
  • 用户名

用户身份验证

  • 用户名 *
  • 密码

使用这种模式,我在 Symfony2 Authenticate 上遇到了很大的问题。我在http://symfony.com/doc/current/cookbook/security/entity_provider.html阅读了食谱。但是我的项目的数据模型和教程有很大的不同。

如何从 user_auth 获取密码进行身份验证?

通常,我会考虑一个 JOIN 查询来获取这两个信息,然后将它们与用户提交的数据进行比较,但不是很好理解的 Doctrine ORM 模型阻碍了我。

4

2 回答 2

0

创建一个自定义用户提供程序,您可以在其中放置自定义用户数据检索逻辑。注意你的User类必须实现UserInterface接口。

于 2013-04-16T19:48:25.260 回答
0

我已经找到答案了。使用CUSTOM USER PROVIDER

在那之后,我坚持使用 Doctrine ORM 来实现我的去规范化模式。在通过更改我的架构以适应 ORM 放弃之前,我在阅读本教程后尝试再次映射我的 ORM:http: //docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite -primary-keys.html。但它并没有像我想象的那样工作。然后下面的答案帮助我找到了方法。

  1. Symfony 2:使用理论查询构建器在非相关表上进行 INNER JOIN
  2. 在 Symfony 2 / Doctrine 2 中有一个带有 DBAL 连接的自定义存储库?
  3. 如何将实体管理器添加到自定义类或服务?
  4. '调用非对象上的成员函数 get()'?

现在,一切正常。我很高兴我可以在需要时使用 DBAL,但不会失去 ORM 的好处。

于 2013-04-17T12:30:45.363 回答