将数据从一个页面(CMS)发送到子域(平台)

时间:2017-10-24 09:13:10

标签: php cookies cors postmessage grav

我希望你能够帮助我,或者至少给我一些解决方案的建议。

背景信息:我们有一个包含常规信息,博客等的grav CMS网站(example.com)。在子域(在Ruby(后端)和Angular(前端)中创建的test.example.com),我们有一个完全开发的双面平台。

问题:我需要在example.com上创建特定的登录页面。此目标网页必须包含注册表单,我需要能够在子域中读取输入的数据。

例如:example.com/landing-page1的表单包含电子邮件,用户名和密码。 test.example.com是一个完全开发的平台,具有注册流程。在example.com上提交表单时,应该使用test.example.com/sign-up打开一个新窗口,其中读取example.com上表单中的数据。

正如我所看到的,最好的解决方案是创建一个cookie,可以从test.example.com中读取。这可能吗?

要在grav中执行此操作,据我所知,我需要创建一个可以创建此cookie的插件,然后我需要修改平台以便它可以从cookie中读取。我认为我还需要实现CORS才能做到这一点。

非常感谢任何建议或帮助。

2 个答案:

答案 0 :(得分:1)

可以在两个域之间共享cookie,但是您必须对创建cookie的服务进行一些额外的工作。有关其工作原理的详细信息,请参阅this answer

在Grav方面,你是正确的。您需要实现一个插件(请参阅dev-tools插件),然后读取此cookie。如果我正在做项目,我会设置插件将cookie信息存储为树枝变量。

或者,您的插件可以简单地从数据库中读取。

答案 1 :(得分:0)

我最终采用了与上面不同的方法,因此我可以放弃创建一个grav-plugin。 我在example.com上创建了一个表单,向子域发送一个GET请求,并通过URL传递变量。然后我创建了一个存储这些数据的服务,然后我将其注入角度模块,我需要访问数据。