Как определить авторизированного пользователя в друпале из внешнего сайта
Прислано: GostJr
пт, 14/10/2011 - 11:07
Приветствую всех. Столкнулся с такой проблемой. Идея вот в чем, на одной машине человек авторизируется на друпаловском сайте(\www\drupal\). Потом переходит на другую страницу не относящуюся к друпалу(www\folderX\fileX.php - страница не находится в модуле друпала и вообще к нему не относится). Как можно определить логин зашедшего юзера на этой внешней от друпала странице...
Делаю, сложно и не правильно: Сначала определяю IP адрес юзера, потом достаю его uid из друпаловской таблицы Sessions, а потом достаю уже самого пользователя из таблицы Users. Работает не всегда корректно, т.к. на работе некоторые компы заходят через прокси, получается в сессиях несколько человек(uid) с одинаковыми IP. Как это можно реализовать? Буду очень признателен.
- GostJr's blog
- Для комментирования войдите или зарегистрируйтесь
Как насчёт записи друпалом uid залогиневшегося юзера в стороннюю БД (к которой имеет доступ www\folderX\fileX.php)?
- В settings.php пишем доступы к новой БД.
- В hook_install создаём таблицу в этой БД (uid, status).
- В hook_user перехватываем логин, подключаемся к удалённой БД (db_set_active()), пишем uid и status.
- В hook_user перехватываем логаут, подключаемся к удалённой БД (db_set_active()), обновляем status по uid.
- Переключаемся обратно на друпал БД (db_set_active('default');).
- Чистим грязь в hook_uninstall.
- Для комментирования войдите или зарегистрируйтесь
полное ололо
Кашмар он и есть кашмар.
Определять session_id по кукам уже не модно?
- Для комментирования войдите или зарегистрируйтесь


Комментарии