在iFrame内自动登录

Auto login within iFrame

本文关键字:登录 iFrame      更新时间:2023-09-26

我有一个网站,我正在工作,它有点像一个汽车共享系统,基于用户。在一些页面中,我使用在页面中间的iframe链接到另一个网站,这不是在PHP (Liferay实际上),所以我发现这是最简单的方法来包括它。问题是,每次用户登录时,它不会在iFrame内自动登录。然后有必要进行第二次身份验证,这有点令人沮丧。

下面是示例pic:

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

正如您所看到的,我已经登录了(选中右上角),但是iframe仍然显示一个身份验证框,而不是应该显示的。

我想使用javascript在iFrame内自动登录,但我不确定什么是最安全的方法,因为我们正在谈论关键数据。

任何想法?

提前感谢!

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

解决这个问题的一种方法是为你的PHP应用程序和Liferay使用一个外部SSO系统:将来你总是登录到那个系统,PHP和Liferay都需要与它接口。

另一种方法,如果你的PHP系统不能做到这一点,是模仿一个单点登录系统与你的PHP应用程序-例如,让你的应用程序转发用户身份到Liferay任何单点登录系统会做的方式。如果两个服务器共享一个域,通常可以通过cookie实现。此外,你可以做一些重定向到已知的URL(例如加密用户的身份在URL)或有一个服务器端系统来识别用户和设置一些HTTP头为以下应用服务器(Liferay/PHP)

你到底是怎么做的?有现成的吗?我担心这个答案对这个问题来说太复杂了——尤其是我不知道在PHP应用程序中嵌入一个现有的SSO有多容易。