在iFrame中自动登录

时间:2014-08-24 08:19:24

标签: javascript php authentication iframe liferay

我有一个我正在研究的网站,它类似于汽车共享系统,基于用户。 在某些页面中,我在页面中间使用iframe链接到另一个不在PHP中的网站(实际上是Liferay),因此我发现它是包含它的最简单方法。问题是,每次用户登录时,它都不会自动登录iFrame。然后有必要进行第二次认证,这有点令人沮丧。

以下是示例图片:

https://www.diigo.com/item/image/4sr25/9ct1?size=o

正如您所看到的,我已登录(请检查右上角),但iframe仍会显示身份验证框,而不是应该显示的内容。

我考虑过使用javascript在iFrame中自动登录,但我不确定最安全的方法是什么,因为我们讨论的是关键数据。

有什么想法吗?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

Liferay支持外部用户数据库(例如LDAP)和单点登录(SSO)系统。因此,支持许多不同应用程序的单一登录的好方法是嵌入SSO系统。开箱即用Liferay支持很多,并且很容易实现对更多的支持。

解决此问题的一种方法是为您的PHP应用程序和Liferay使用外部SSO系统:将来您总是登录到该系统,而PHP和Liferay需要与它进行交互

另一种方式,如果您的PHP系统无法做到这一点,那就是使用您的PHP应用程序模仿SSO系统 - 例如让您的应用程序以任何SSO系统的方式将用户身份转发给Liferay。通常,如果两个服务器共享域,则可以通过cookie。此外,您可以对已知URL进行一些重定向(例如,在URL中加密用户的身份),或者使用服务器端系统来识别用户并为以下应用服务器设置一些HTTP头(Liferay / PHP)< / p>

你是怎么做到的?有没有什么可用的?我担心这个问题太复杂了 - 特别是因为我不知道将现有的SSO嵌入PHP应用程序是多么容易。这对于战略选择非常重要。