Drupal: как зарегистрировать нового пользователя с помощью запроса, отправленного другим сервером - PullRequest
1 голос
/ 15 февраля 2011

У меня есть 2 сайта drupal на 2 разных серверах с 2 разными доменами.

Пользователи видят только веб-сайт A и могут заполнить форму со своими личными данными.

Когда они отправляют форму, данные поступают на мой адрес электронной почты. В этот момент я передаю им URL сайта B.

Теперь я хочу автоматически зарегистрировать их на веб-сайте B, когда они заполняют форму на веб-сайте A, а не только отправлять мне электронное письмо.

Есть ли способ отправить запрос в Drupal с другого сервера со всеми полями учетных записей пользователей, чтобы зарегистрировать их?

спасибо

Ответы [ 2 ]

0 голосов
/ 15 февраля 2011

Вы можете сделать это различными способами.Наиболее настраиваемое решение - начать с модуля Services , который представляет основные API (включая user_save) в качестве веб-служб.

Вторым решением будет использование модуля Deploy., который построен поверх Служб, но обеспечивает некоторую автоматизацию при перемещении пользователей (и контента) между сайтами Drupal.

Третьим решением было бы использование Feeds и PubSubHubbbub как , описанных здесь , в разделе о синхронизации пользователей.

0 голосов
/ 15 февраля 2011

Это нетривиально.

Вы можете создать модуль, который создает учетную запись удаленно, подключившись к серверу MySQL, и отключив его при выполнении действия при создании учетной записи на сервере А. Для этого потребуется прямой доступ к серверу MySQL с сервера. От A к серверу B и понимание SQL, необходимого на этом сервере для создания новой учетной записи. Это более безопасно, чем следующая идея.

В качестве альтернативы вы можете открыть URL-адрес на сервере B и создать модуль, который принимает данные пользователя, скажем, в JSON, а затем анализирует их и создает нового пользователя через Drupal. См. URL ниже.

http://www.michaelphipps.com/how-create-users-programmatically-drupal-6x

В идеале вы должны объединить две пользовательские БД (чтобы узнать, как обмениваться таблицами БД между экземплярами Drupal, см. Setting.php). 1014 *

Нет простого решения этой проблемы, о котором я знаю.

...