Использование информации пользователя Drupal 7 в качестве аутентификации в Laravel 4

У меня есть веб-сайт Drupal 7, который служит внутренней сетью компании. У меня также есть связанная система форм, которая работает за пределами Drupal. Я планирую перестроить эту систему форм под Laravel 4 (используя Doctrine 2 в качестве моего ORM, а не Eloquent).

Когда пользователь входит в Drupal 7, он / она также должен иметь возможность перейти в систему Laravel и иметь мгновенный доступ к внешним формам. Итак, вопрос: Как мне заставить Laravel получить учетные данные пользователя Drupal 7 (идентификатор сессии и хэш сессии) и использовать его в качестве аутентификации в этой системе? Это вообще возможно? Затем, очевидно, как только пользователь выходит из системы, Laravel должен знать об этом и перенаправить пользователя обратно для входа в Drupal.

0

Решение

Установите соединение с базой данных Drupal 7 в файле app / config / database.php Laravel:

'drupal' => array(
'driver'    => 'mysql',
'host'      => 'localhost',
'database'  => 'dpl',
'username'  => 'user',
'password'  => 'pass$5',
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix'    => '',
),

Затем изнутри функции (в данном случае я создал класс под названием DrupalAuthorization), используйте фасад DB Laravel для вызова этого вновь созданного соединения следующим образом:

$users = DB::connection('drupal');

Наконец, просто используйте метод выбора Laravel для запуска запроса, собирающего информацию о сеансе пользователя Drupal:

$users = DB::connection('drupal')->select("SELECT uid, sid FROM d7_sessions WHERE hostname = ? AND uid > ? ORDER BY uid DESC", array($_SERVER["REMOTE_ADDR"], 0));
0

Другие решения

Других решений пока нет …