Авторизация на нескольких сайтах Drupal. Модуль SSO.
Понадобилось сделать сквозную авторизацию по группе сайтов. С помощью модуля "Single sign on" делается очень просто... при попытке повторить как-то не пошло по памяти, тут записано что надо сделать. Кто повторит с точностью получит авторизацию на своих сайтах Drupal в лучшем виде.
В соответствии с рекомендацией файла readme.txt модуля SSO
CONTROLLER-SITE
фрагмент <settings.php>
$db_url = 'mysql://allwork_drpl2:pass-hash@localhost/allwork_drpl2';
# $db_prefix = '';
$db_prefix = array(
'default' => '',
'authmap' => 'allwork_site.',
'profile_fields' => 'allwork_site.',
'profile_values' => 'allwork_site.',
'role' => 'allwork_site.',
'sequences' => 'allwork_site.',
'sessions' => 'allwork_site.',
'users' => 'allwork_site.',
'users_roles' => 'allwork_site.',
'watchdog' => 'allwork_site.',
'permission' => 'allwork_site.',
);
$conf['session_inc'] = 'sites/all/modules/sso/session.singlesignon.inc';
CLIENT-SITE
фрагмент <settings.php>
$db_url = 'mysql://allwork_site:pass-hash@localhost/allwork_site';
$db_prefix = array(
'default' => '',
'authmap' => 'allwork_site.',
'profile_fields' => 'allwork_site.',
'profile_values' => 'allwork_site.',
'role' => 'allwork_site.',
'sequences' => 'allwork_site.',
'sessions' => 'allwork_site.',
'users' => 'allwork_site.',
'users_roles' => 'allwork_site.',
'watchdog' => 'allwork_site.',
'permission' => 'allwork_site.',
);
$conf['session_inc'] = 'sites/all/modules/sso/session.singlesignon.inc';
Пользователь БД сайта-клиента должен иметь права доступа к БД сайта-контроллера. Или если выделили таблицы авторизации в отдельную базу то все пользователи БД сайтов должны иметь доступ к этой базе (чтение-запись)удобно
указанные фрагменты одинаковы потому, что это заготовки для сайтов мультихосинга.
Немного больше таблиц взял у контроллера для того, чтобы не мучиться с перезаполнением профиля. На одном сайте заполнил — на всех такой-же получается. Один язык. С мультиязычностью может таблиц будет больше, в настоящий момент не критично.
Особенности реализации:
1) при смене языка сайта и попытке входа вываливаемся на центральный сайт Drupal SSO. метод как пофиксить описан в статье про твики друпала
2) при вводе неправильных данных авторизации - перебрасывает на центральный сайт. Проблема не решена.
- Блог пользователя andreyv
- Войдите на сайт для отправки комментариев