Playframework 1.x 对运行在不同服务器上的play 1.2.x应用程序与使用安全模块实现的另一个play 1.2.x应用程序进行身份验证

Playframework 1.x 对运行在不同服务器上的play 1.2.x应用程序与使用安全模块实现的另一个play 1.2.x应用程序进行身份验证,playframework-1.x,Playframework 1.x,我已经开发了一个Play1.2.5应用程序,并实现了用于身份验证的安全模块。它工作正常。现在我开发了另一个Play1.2.5应用程序,它运行在一个单独的服务器上。我在我的第一个play应用程序中维护了一个href标记,该标记具有指向第二个应用程序的链接。通过我的第一个应用程序登录时,我希望将用户名传递给第二个应用程序,因为我使用的是登录的用户名。一旦我从第一个应用程序注销,会话(用户名)也应该从第二个应用程序中删除 我如何才能做到这一点…请帮助 如果您在一个域(如www.example.com)

我已经开发了一个Play1.2.5应用程序,并实现了用于身份验证的安全模块。它工作正常。现在我开发了另一个Play1.2.5应用程序,它运行在一个单独的服务器上。我在我的第一个play应用程序中维护了一个href标记,该标记具有指向第二个应用程序的链接。通过我的第一个应用程序登录时,我希望将用户名传递给第二个应用程序,因为我使用的是登录的用户名。一旦我从第一个应用程序注销,会话(用户名)也应该从第二个应用程序中删除


我如何才能做到这一点…请帮助

如果您在一个域(如www.example.com)上运行两台服务器,并使用负载平衡器(如nginx)将请求传输到两台服务器。您只需确保两者的config
application.secret
相同即可

如果在不同的子域上运行(推荐),则必须执行以下操作:

  • 服务器应使用子域,例如登录服务器为login.example.com,应用服务器为app.example.com
  • 对两台服务器都使用config
    application.defaultCookieDomain=.example.com
    ,然后它们可以互相使用cookie
  • 确保两台服务器具有相同的配置
    application.secret

  • 如果你真的想把两个不同的领域,如example.com和example.net。您应该在登录服务器上实现OAuth,并提供从应用服务器调用的API。

    这将在您的安全性中留下一个巨大的漏洞,因为任何人都可以伪造这样的请求。