Войти на сайт php и автоматически войти на сайт drupal, работающий на другом сервере?

У моей компании есть веб-портал, написанный на php и mysql, и есть еще один веб-сайт, работающий на Drupal-7, поэтому они хотят, чтобы я интегрировал SSO i: e; как только кто-то войдет в портал, он / она должен автоматически войти на сайт drupal, щелкнув ссылку сайта (сайт drupal) с портала. есть ли способ сделать это?

Примечание: Я понятия не имею о системе Drupal.

1
0
96
3

Ответы 3

Если у вас есть код, который обрабатывает логин пользователя, опубликуйте его здесь. По сути, вам нужно действовать при входе пользователя в систему где-нибудь в коде и сделать запрос curl к api сайта drupal, чтобы войти в систему и там. Хорошей отправной точкой является изучение Модуль услуг.
Также читайте Выполнение аутентифицированных запросов к REST Server

В основном я кодирую на php и его фреймворках. Нет никакого опыта в Drupal, поэтому я думаю, что передать имя пользователя с веб-сайта php в Drupal и проверить пользователя, если он существует, затем создать сеанс для обхода входа в систему. Я пытаюсь написать необработанный php-код на веб-сайте drupal, чтобы сделать это.

Avnish tiwary 16.11.2018 14:16

Лучший способ сделать таблицу пользователей Drupal 7 общей для обоих сайтов.

Для этого вам необходимо выполнить миграцию пользователей, а также изменить код на сайте PHP при регистрации и входе в систему, чтобы использовать Drupal 7 Rest API для входа в систему и повторного входа на портал.

Также имелось в виду сохранение пользователей в обеих БД. Следующая процедура, я думаю о передаче имени пользователя на сайт drupal с некоторыми ключами безопасности, чтобы проверить, существует ли пользователь. Если пользователь существует, я создам сеанс на веб-сайте druapal, чтобы пропустить вход в систему, и для этого я думаю о написании необработанного php-кода на веб-сайте druapal, чтобы сделать это.

Avnish tiwary 16.11.2018 14:12

SimpleSAMLphp (SSP) - очень хорошее решение, на которое вы можете взглянуть. Он предоставляет SAML 2.0 поставщик услуг (SP) и поставщик удостоверений (IdP) в одном пакете.

Сначала вам нужно будет настроить SSP в качестве поставщика удостоверений, для чего вы можете использовать простую базу данных MySQL для пользователей. Затем вы можете подключить как портал, так и Drupal к поставщику удостоверений через интеграцию SAML, где портал и сайт Drupal будут «поставщиками услуг».

Если вы установите SSP на сайт с порталом, я не думаю, что он может работать как IdP, так и SP, справедливое предупреждение. Вам нужно будет либо использовать альтернативного поставщика услуг SAML (например, Шибболет), либо, что еще лучше, второй экземпляр под другим именем хоста. (В противном случае файлы cookie будут конфликтовать.) Вам также потребуется интегрировать Drupal, что можно легко сделать с помощью модуль.

Если вы хотите пойти другим путем, где таблица пользователя сайта Drupal используется в качестве источника аутентификации, это также можно сделать с помощью SimpleSAMLphp вместе с модулем drupalauth4ssp Drupal в сочетании с модулем друпалаут SSP.

Другие вопросы по теме