Проверка двух баз данных при входе пользователя в систему с помощью пользовательского модуля
Я пытаюсь создать модуль, который будет проверять наличие двух баз данных при входе пользователя в Drupal. Если собственный вход в систему drupal прошел успешно, но у внешнего приложения нет этой учетной записи, модуль создаст учетную запись во внешнем приложении. Если учетная запись находится не на drupal, а во внешнем приложении, то drupal создаст локальную учетную запись. Если пользователь не существует ни в одной из баз данных, то вход в систему завершится ошибкой. Какой крючок(ы) мне понадобится чтобы реализовать это в модуле?
1
Author: kiamlaluno, 2011-05-17
1 answers
Никогда не пробовал, но в принципе вы можете:
- попробуйте hook_user(), но вы можете не уловить случай, когда пользователь существует не на drupal, а на другом вашем сайте.
- создайте свою собственную форму входа и обратного вызова и:
- проверьте, существует ли пользователь в drupal с помощью user_external_load()
- если пользователь существует на вашем внешнем сайте, войдите или зарегистрируйтесь на drupal с помощью user_external_login_register()
Вы можете найти некоторые интересный код в проверке подлинности openid_authentication().
4
Author: Manu, 2011-05-17 08:39:54