登录php网站并自动登录运行在不同服务器上的Drupal网站?

时间:2018-10-31 12:45:31

标签: php drupal drupal-7 single-sign-on

我的公司有一个用php和mysql编写的Web门户,还有一个在Drupal-7中运行的网站,所以他们希望我对SSO进行集成:一旦有人登录门户网站,他/她应该通过单击门户网站链接(drupal网站)自动登录drupal网站。有什么办法吗?

注意:我对Drupal系统一无所知。

3 个答案:

答案 0 :(得分:0)

如果您有处理用户登录的代码,请在此处发布。
基本上,您需要在代码中的某处对用户登录进行操作,并向drupal网站api发出curl请求,以便也在其中登录。 一个很好的起点是学习Services module
另请参阅Making authenticated requests to REST Server

答案 1 :(得分:0)

使两个站点通用的Drupal 7 Users表的最佳方法。

为此,您需要进行用户迁移,并在注册和登录时更改PHP站点中的代码,以使用Drupal 7 Rest API来使登录名和抵制者进入门户。

答案 2 :(得分:0)

SimpleSAMLphp(SSP)是一个非常好的解决方案,供您查看。它在一个软件包中提供了SAML 2.0 service provider(SP)和identity provider(IdP)。

首先需要将SSP设置为身份提供程序,为此您可以为用户使用简单的MySQL数据库。然后,您可以通过SAML集成将门户和Drupal与身份提供程序连接在一起,此处门户和Drupal站点将是“服务提供商”。

如果您通过门户网站在站点上安装SSP,我认为它不能同时充当IdP和SP,这是合理的警告。您可能需要使用备用SAML服务提供程序(例如Shibboleth),或者更好的是使用不同主机名的第二个实例。 (否则,cookie会发生冲突。)您还需要集成Drupal,这可以通过module轻松完成。

如果您想采用另一种方法,将Drupal站点的用户表用作身份验证源,那么也可以将SimpleSAMLphp连同drupalauth4ssp Drupal模块和drupalauth SSP一起使用模块。