Единая авторизация на домене и поддомене
-
День добрый.
Дано:
Два сайта 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.Плагинов авторизации нет, используется стандартная форма.
- Тема «Единая авторизация на домене и поддомене» закрыта для новых ответов.