Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 2跟踪数据库中的匿名用户操作_Symfony_Authentication_Action_Anonymous_User Tracking - Fatal编程技术网

Symfony 2跟踪数据库中的匿名用户操作

Symfony 2跟踪数据库中的匿名用户操作,symfony,authentication,action,anonymous,user-tracking,Symfony,Authentication,Action,Anonymous,User Tracking,我希望跟踪匿名用户的操作,就好像用户将被验证一样。目标是让用户执行操作(通常保留给经过身份验证的用户),将其保存在数据库中,并具有特殊状态(在用户登录到应用程序之前不可见) 比如说,, 匿名用户对评论的回复。 如果系统检测到用户未登录,请将注释保存为特殊状态“等待验证”。 系统要求用户登录,以完成评论的注册。 用户登录到应用程序。 系统检查“等待身份验证”状态,并更新/关联已验证用户的条目 您对实现此类功能有何建议/经验?也许Symfony已经有了这方面的功能/捆绑包?您可以使用ip地址,但它不

我希望跟踪匿名用户的操作,就好像用户将被验证一样。目标是让用户执行操作(通常保留给经过身份验证的用户),将其保存在数据库中,并具有特殊状态(在用户登录到应用程序之前不可见)

比如说,, 匿名用户对评论的回复。 如果系统检测到用户未登录,请将注释保存为特殊状态“等待验证”。 系统要求用户登录,以完成评论的注册。 用户登录到应用程序。 系统检查“等待身份验证”状态,并更新/关联已验证用户的条目


您对实现此类功能有何建议/经验?也许Symfony已经有了这方面的功能/捆绑包?

您可以使用ip地址,但它不会非常有效,因为一个用户可以从多个ip地址(wifi、3g/4g连接…)访问您的网站。 你可以依赖cookies,但一旦他从另一台设备登录,你就无能为力了


在我看来,您应该保存操作并将它们链接到发送给匿名用户的uniq令牌,一旦匿名用户通过身份验证,他就可以提供生成的令牌,然后您为该用户保存操作。注意不要忘记在“识别”已保存的匿名操作后删除它们。

您可以使用ip地址,但它不会非常有效,因为一个用户可以从多个ip地址(wifi、3g/4g连接…)访问您的网站。 你可以依赖cookies,但一旦他从另一台设备登录,你就无能为力了


在我看来,您应该保存操作并将它们链接到发送给匿名用户的uniq令牌,一旦匿名用户通过身份验证,他就可以提供生成的令牌,然后您为该用户保存操作。注意不要忘记在“识别”已保存的匿名操作后删除它们。

您尝试执行的操作与延迟注册类似,这是一个经过验证的概念。它在stackoverflow中得到了很好的实现。它允许您在提供电子邮件地址后发布消息。其工作原理与此类似:


然而,如果您真的想按自己的方式去做,而不要求用户提供电子邮件地址,我建议您将数据存储在浏览器本地存储中。它将为您节省大量后端工作。只有在用户注册时,数据才会传输到后端。这样还可以防止从未注册的用户污染数据库

您试图做的事情与延迟注册类似,这是一个经过验证的概念。它在stackoverflow中得到了很好的实现。它允许您在提供电子邮件地址后发布消息。其工作原理与此类似:

然而,如果您真的想按自己的方式去做,而不要求用户提供电子邮件地址,我建议您将数据存储在浏览器本地存储中。它将为您节省大量后端工作。只有在用户注册时,数据才会传输到后端。这样还可以防止从未注册的用户污染数据库