如何检查它是sfguarduser的首次登录symfony?

问题描述

| 我希望某人输入他们的登录详细信息,然后执行操作以检查他们是否是现有用户。如果不是,那么我希望他们必须从下拉菜单中选择他们的部门,否则请照常进行。 我不知道登录的下落,但要检查他们是否是现有用户。有人可以帮忙吗?     

解决方法

        在Symfony sfGuard中,如果某人不是现有用户,则他们根本无法登录。这意味着您应该将它们分为登录和注册: 如果是用户,请登录。 如果不是,请注册并选择部门。 但是,如果您希望自定义行为在用户首次登录时发生,则可以自己为此创建一个标志,可能是通过为sfGuardUser创建一个关联的配置文件表。 sfGuardUser模型没有可用于此类内容的自定义字段,但是...它确实具有\“ Timestampable \”行为,因此您可以这样做(伪代码):
if (created_at == updated_at) {
  // go to select department and update updated_at
} else {
  // login as normal
}
我相信在创建新的sfGuardUser时,这两个字段将设置为相等。 希望能有所帮助。     ,        恕我直言,将其部门信息存储在一个表中可能会很有用(扩展extend1ѭ,或为此类“扩展的用户数据”创建另一个,然后检查是否在此处设置了该信息)。 如果不是,他们还没有回答,因此是第一次。考虑给用户一个“不想选择”选项,不同于“尚未选择”选项-根据您的业务逻辑,您可能会想要还是不想。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...