Как авторизовать пользователя на Drupal API из своего скрипта

Чуть ниже представлен пример написания функции для программной аутентификации пользователя на сайте, который работает под управлением CMS Drupal 7, с использованием API того же самого движка. Стоит отметить, что здесь важным этапом является подключение возможностей системы из стороннего PHP файла.

<?php
function druwebru_authenticate_programmatically($username, $password) {
     // Подключаем API Drupal к стороннему PHP файлу:
    define('DRUPAL_ROOT', getcwd()); // - прописываем путь до Drupal.
    require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

    // Пытаемся авторизоваться:
    if (user_authenticate($username, $password)) :
        $user_object = user_load_by_name($username);
        $form_state = array();
        $form_state['uid'] = $user_object->uid;
        user_login_submit(array(), $form_state);
        return true;
    else :
        return false;
    endif;
}

/* Пример использования: */
if (druwebru_authenticate_programmatically('admin', '$gfjf$R4dr-75)ere8584'))
    print "Вы вошли на сайт!";
else
    print "Не удалось войти на сайт.";
?>

Ну вот собственно и все. Только обратите внимание на вызов user_authenticate(), - функция объявляется в модуле User, если я не ошибаюсь





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.