[英]Store multiple objects with Symfony2 authentification
我在数据库中有这些表:
user:
- email
- lastname
- firstname
- password
userType1:
- fkUser
- specialCol1
- specialCol2
userType2:
- fkUser
- specialCol1
- specialCol2
我已经使Symfony2身份验证服务与user
表一起工作,但是我想在会话中存储(或在其他地方通过身份验证管理)关联的对象: userType1
或userType2
。
此外,我想根据用户的类型将用户重定向到其帐户。
所以我的问题是:
提交认证表格后如何处理? (以确定它是哪种类型的用户)
如何告诉Symfony在身份验证上下文中管理其他对象(用户类型)?
看一看Cookbook条目“ 如何从数据库加载安全用户” 。 “使用自定义实体提供程序对某人进行身份验证”和“管理数据库中的角色”部分可能会有所帮助。
我在身份验证过程中遇到了类似的问题,该过程要求用户及其租户成员身份。 我建立了一个自定义提供程序,该提供程序基本上看起来像食谱中的提供程序。 序列化User时,我仅使用某些字段(id,username,email),其余数据通过提供程序的refreshUser()
,在此处再次通过QueryBuilder获取User及其关系。 我遇到的问题是,在会话中序列化User时,否则关系“丢失”,而我必须一直重新获取User。
之后,基本上就是@BenjaminPaap编写的内容。 您按照文档中的说明检索用户并获取用户类型等。
如果要根据用户的userType将用户重定向到某个目标,则可能需要查看“ 如何创建自定义UserProvider ”。 侦听器提供登录后立即根据用户类型重定向用户所需的一切。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.