首先,我是Symfony的新手,所以我不知道像FOSUserBundle
等捆绑的确切功能,以及术语。
我正在寻找一种方法来使用Symfony安全组件,使我能够从实际用户元数据中分离用户的登录凭据(例如,登录名和密码,可能是角色)(如首先姓名,姓氏,团体,出生日期等。)。
这个想法是用户可以使用不同的登录名/密码登录,并且仍然被识别为同一个用户(最终意味着获得相同的User
对象)。
对我而言,这与多个身份验证提供程序结合使用时非常方便。例如,如果我想让我的用户通过OAuth2服务作为替代登录,以使用他们本地托管的登录名/密码组合登录(例如,像StackExchange那样),我会这样做吗?
我已经阅读了Symfony的多页文档,例如:
后者甚至在1) Create your User Entity
说,password
是User
的字段。
答案 0 :(得分:1)
我最近创建了这个,首先我将我的类命名为UserCredentials和UserDitails,由于getUser函数的混淆,我决定将UserCredentials重命名为User。我同意Alex Blex关于这种关系(用户方面的manyToOne)。当您分离登录和元数据时,您将需要学习如何嵌入表单或创建自己的表单模型,这是我目前正在进行的工作,您可能需要实现用于删除和更新实体的回调函数。我在UserBundle上工作的越多,它看起来就越像FOSUserBundle。设计它可以很好地工作,但它对学习很有帮助。如果您想检查FOSUserBundle的工作方式,安装后,您可以在vendor / friendsOfSymfony文件夹中找到它,它可能会提供一些答案。