0

我在数据库中有这些表:

user:
- email
- lastname
- firstname
- password

userType1:
- fkUser
- specialCol1
- specialCol2

userType2:
- fkUser
- specialCol1
- specialCol2

我已经让 Symfony2 身份验证服务与user表一起工作,但我想在会话中(或在其他由身份验证管理的地方)存储关联的对象:userType1userType2.

此外,我想根据用户的类型将用户重定向到其帐户。

所以我的问题:

提交认证表后如何处理?(以确定它是哪种类型的用户)

如何告诉 Symfony 在身份验证上下文中管理其他对象(用户类型)?

4

1 回答 1

0

查看食谱条目如何从数据库加载安全用户。“使用自定义实体提供程序对某人进行身份验证”和“管理数据库中的角色”部分可能会有所帮助。

在需要用户及其租户成员身份的身份验证过程中,我遇到了类似的问题。我构建了一个自定义提供程序,它基本上看起来像食谱中的那个。序列化用户时,我只使用某些字段(id、用户名、电子邮件),其余数据通过提供程序获取refreshUser(),而用户及其关系再次通过 QueryBuilder 获取。我遇到的问题是,在会话中序列化用户时,关系会“丢失”,否则我必须一直重新获取用户。

之后基本上就是@BenjaminPaap 写的。您按照文档中的描述检索用户并获取用户类型等。

如果您想根据用户类型将用户重定向到某个目标,您可能需要查看“如何创建自定义 UserProvider ”。侦听器提供了您在登录后立即根据用户类型重定向用户所需的一切。

于 2012-12-07T10:50:35.980 回答