• День добрый.

    Дано:
    Два сайта site.ru и new.site.ru База MySQL одна стоит специально.

    Необходимо сделать:
    При переходе с одного сайта, на другой авторизация пользователей происходила автоматически.

    Пытался сделать так:
    1.дописал 2 директивы в wp-config.php поддоменного сайта

    define(‘CUSTOM_USER_TABLE’, ‘wp_users’);
    define(‘CUSTOM_USER_META_TABLE’, ‘wp_usermeta’);

    2.Для сохранения ролей пользователей добавил в wp-includes/capabilities.php поддоменного сайта

    function _init_caps( $cap_key = » ) {
    global $wpdb;
    if ( empty($cap_key) )
    $this->cap_key = ‘wp_capabilities’;
    else
    $this->cap_key = $cap_key;
    $this->caps = &$this->{$this->cap_key};
    if ( ! is_array( $this->caps ) )
    $this->caps = array();
    $this->get_role_caps();
    }

    3.Прописал домен и путь для куки для всех сайтов в wp-config.php

    define(‘COOKIE_DOMAIN’, ‘.site.ru’);
    define(‘COOKIEPATH’, ‘/’);

    4.Выставил одинаковые уникальные ключи аутентификации для сайтов

    5.Изменил имена куки

    $publick_hash = md5(‘http://site.ru’);
    define(‘USER_COOKIE’, ‘wordpressuser_’ . $publick_hash);
    define(‘PASS_COOKIE’, ‘wordpresspass_’ . $publick_hash);
    define(‘AUTH_COOKIE’, ‘wordpress_’ . $publick_hash);
    define(‘SECURE_AUTH_COOKIE’, ‘wordpress_sec_’ . $publick_hash);
    define(‘LOGGED_IN_COOKIE’, ‘wordpress_logged_in_’ . $publick_hash);
    define(‘TEST_COOKIE’, ‘wordpress_test_cookie_’ . $publick_hash);
    define( ‘ADMIN_COOKIE_PATH’, ‘/’ );
    define( ‘PLUGINS_COOKIE_PATH’, ‘/’ );

    Проблема: Накосячил с куки где-то, при попытке перейти на любой сайт, он естесственно выдает ошибку «Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.»

    P.S. Думаю не имеет значения, но все же, забыл сказать-
    1.на сети стоит Buddypress (ver.последняя)
    2.Плагинов авторизации нет, используется стандартная форма.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Я сам не пробовал, но в ЧАВО изложен вариант.

    Благодарю, не особо понял формулировку «Прикрепить домен каждого сайта к каталогу, в котором находится WordPress.» из данной статьи

    Спасибо за совет, может скоро и создадут такие плагины для упрощения жизни.

    Модератор Юрій

    (@yube)

    Ошибка HTTP 500 (Internal Server Error)

    Обычно причину такой ошибки проще найти в логах сервера, чем на форуме НЕэкстрасенсов.

    Чаще всего причиной фатальных ошибок бывает дурная привычка скобочек и кавычек убегать с предназначенного им места ))

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Единая авторизация на домене и поддомене» закрыта для новых ответов.