Главная страница / Советы / Единая регистрация и авторизация на нескольких сайтах
апрель 18 2007

Единая регистрация и авторизация на нескольких сайтах

celsoft 18 апреля 2007 Советы 45 316

Дорогие друзья,

Сегодня хотелось бы рассказать вам об одном из нововведении версии 5.7, а именно о том что в скрипт добавлена поддержка единой регистрации и авторизации на ваших сайтах, которые могут находится на различных доменах и работать под управлением разных копий скрипта, но при этом вашим пользователям достаточно зарегистрироваться только на одном из ваших сайтах и в дальнейшем использовать свой логин и пароль на других ваших сайтах. Единственным условием для реализации данной возможности является то, что все домены должны иметь доступ к одной и той же MySQL базе данных, в пределах одного хостера это не проблема, если хостеры разные, то MySQL сервер должен разрешать внешние подключения.

Внимание: несмотря на то что скрипт поддерживает работу с несколькими проектами, это не меняет условий лицензирования и одна лицензия выдается на один домен второго уровня, и для другого домена вам понадобится еще одна лицензия.

Итак рассмотрим более подробно как вам реализовать и использовать данную возможность:

Нам необходимо установить скрипт на основной домен, допустим http://site.ru/. Для этого делаем все как обычно, закачиваем файлы скрипта на сервер и запускаем мастер установки скрипта install.php. После того как скрипт проведет тестирование вам необходимо будет заполнить данные для доступа к MySQL серверу.

Например:

Сервер MySQL: localhost
Имя базы данных: datalife
Имя пользователя: root
Пароль: password

Эти данные вам предоставляет ваш хостер.

Следующим параметром идет Префикс, этот параметр вы можете определить и указать самостоятельно, мы например укажем: site

После того как мы успешно установили скрипт на один домен, нам необходимо установить скрипт на другой возмем для примера http://games.site.ru/. Делаем все по аналогии и данные для доступа к MySQL серверу указываем теже самые что и для первого сайта:

Сервер MySQL: localhost
Имя базы данных: datalife
Имя пользователя: root
Пароль: password

Внимание устанавливать скрипт нужно в ту же базу данных, что и первый сайт. Единственным отличием является это параметр Префикс, который мы укажем другой, например укажем: games.

Итак мы получили два самостоятельных сайта http://site.ru/ и http://games.site.ru/, которые работают отдельно и между собой не связаны. Поэтому следующей нашей задачей является объединить авторизацию и регистрацию на этих сайтах. Для этого мы заходим по FTP на наш второй сайт http://games.site.ru/ и открываем файл engine/data/dbconfig.php, находим там строчку:

define ("USERPREFIX", "games");


и заменяем ее на

define ("USERPREFIX", "site");


Другими словами мы поставили для параметра USERPREFIX префикс от первого сайта. После этих действий ваш второй сайт будет использовать базу данных для пользователей и групп пользователей от первого сайта, а для всего остального будет использовать собственную отдельную базу данных.

Внимание: Некоторые продвинутые пользователи после этих действий решат удалить неиспользуемые в дальнейшем MySQL таблицы, но мы предостерегаем вас от этих действий, маленькие и неиспользуемые таблицы не будут вам мешать, но так как вам придется обновлять в дальнейшем каждый отдельно, то во избежания конфликтов вам нужно оставить эти таблицы, т.к. они также будут проходить процедуру обновления структуры.

Ну вот в принципе и все, как видите все достаточно просто.

Удачи вам и всего наилучшего.

Комментарии

  1. Dima555 (Посетители)

    18 апреля 2007 13:11 23 комментария
    winked
  2. WMDrakon (Клиенты)

    18 апреля 2007 13:32 141 комментарий
    Спасибо!
  3. Kaiser (Посетители)

    18 апреля 2007 13:50 84 комментария
    Цитата: celsoft
    ... возмем ...

    А так за статейку спасибо! Буду иметь ввиду.
  4. cernos (Посетители)

    18 апреля 2007 13:57 10 комментариев
    Спасибо!
  5. chenbao (Посетители)

    18 апреля 2007 14:14 2 комментария
    belay
  6. Numb (Клиенты)

    18 апреля 2007 14:36 43 комментария
    Спасибо. Полезная вещ.. fellow
  7. StoRM (Посетители)

    18 апреля 2007 15:31 8 комментариев
    Тобишь если базы находятся на разных серверах (и хостер не дает пути до базы кроме Сервер MySQL: localhost) то эта фишка уже не катит или как ?
  8. celsoft (Администраторы)

    18 апреля 2007 15:35 4 136 комментариев
    Цитата: StoRM
    Тобишь если базы находятся на разных серверах (и хостер не дает пути до базы кроме Сервер MySQL: localhost) то эта фишка уже не катит или как ?

    совершенно верно, а как по вашему скрипт сможет подключится от другого домена, если хостинг это запрещает
  9. Borisov (Клиенты)

    18 апреля 2007 15:35 17 комментариев
    да не катит. мультидоменность так и не реализованна!
    ждём 6.0.! ;)

    по мне так бред. такое было возможно ещё и раньше.
  10. celsoft (Администраторы)

    18 апреля 2007 15:40 4 136 комментариев
    Borisov,
    Я уже написал вам, но напишу еще раз. Причем здесь мультидоменность? Где было написано что реализована поддержка мультидоменов?
    Цитата: Borisov
    ждём 6.0.! ;)

    Можете не ждать, мультидомены реализованы не будут. Если конечно мы понимаем одинаково значение этого слова.
  11. Borisov (Клиенты)

    18 апреля 2007 15:43 17 комментариев
    наверно понимаем одинаково...
    есть предложения по поводу движка.. пиши в личку расскажу всё...
    хачу помочь своими силами в безопасности
  12. Akela (Клиенты)

    18 апреля 2007 16:39 34 комментария
    Количество выводимых новостей в профиле юзера не будет соответствовать цифре его общего количества новостей, если такой юзер постит на обоих сайтах, не так ли ?
  13. celsoft (Администраторы)

    18 апреля 2007 17:27 4 136 комментариев
    Цитата: Akela
    Количество выводимых новостей в профиле юзера не будет соответствовать цифре его общего количества новостей, если такой юзер постит на обоих сайтах, не так ли ?

    в профиле будет общая сумма новостей на обоих сайтах. т.е. если на одном сайте 1 новость, а на другом 3, то в профиле будет 4
  14. sheff (Посетители)

    18 апреля 2007 17:36 86 комментариев
    надо попробывать
  15. Sity (Посетители)

    18 апреля 2007 18:09 20 комментариев
    Большое спасибо! winked
  16. Georg (Клиенты)

    18 апреля 2007 18:13 4 комментария
    Огромное спасибо, это то чего я ждал!
  17. Akela (Клиенты)

    18 апреля 2007 23:31 34 комментария
    Цитата: celsoft
    в профиле будет общая сумма новостей на обоих сайтах. т.е. если на одном сайте 1 новость, а на другом 3, то в профиле будет 4

    Хорошо бы это где-то в описании указать, иначе засыпят тебя вопросами "А почему у меня в профиле стоит 10 новостей, а показывает только 3 ?" :)
  18. igos (Клиенты)

    19 апреля 2007 11:14 13 комментариев
    У меня один сайт, но все равно молодцы ребята. Не стоите на месте - каждый релиз шедевр winked
  19. starsh1ne (Посетители)

    19 апреля 2007 12:47 10 комментариев
    блин - а если у меня 2 больших проекта и у каждого своя аудитория- я не смогу их слить в одну базу с пользователями из одного источника
  20. Crawler (Посетители)

    19 апреля 2007 14:37 1 комментарий
    А могу ли я организовать разделы на субдоменах?
    Вместо http://site.ru/категория/
    http://категория.site.ru/
    База одна, пользователи одни, всё выводится на http://site.ru/
  21. Daniel (Посетители)

    23 апреля 2007 21:14 6 комментариев
    Скачажите, а если http://site.ru/ существует уже давно а после выхода этой возможности я решил поставить и обьядинить вход с http://games.site.ru/ будет ли утеряна информация та что была на http://site.ru/ до интеграции друг в друга?

    (я имею ввиду установить оба с нуля но на первом после установки востановить из бекапа базу)
  22. celsoft (Администраторы)

    23 апреля 2007 21:38 4 136 комментариев
    Цитата: Daniel
    Скачажите, а если http://site.ru/ существует уже давно а после выхода этой возможности я решил поставить и обьядинить вход с http://games.site.ru/ будет ли утеряна информация та что была на http://site.ru/ до интеграции друг в друга?

    нет вы ничего не потеряете более того вам вообще не нужно ничего делать на первом сайте. Читайте внимательно статью вы подключаете второй сайт к первому
  23. Mr 13 (Посетители)

    22 мая 2007 23:17 97 комментариев
    Спасибо, полезно.
  24. veanissepil (Посетители)

    26 ноября 2007 22:07 3 комментария
    Спасибо пригодилось)
    вопрос...а это так и должно быть, что когда активируешь ещё раз ключь на поддомене..то в аккаунте меняется инфа..и терь пишет Домен: tv.vnukovskii.ru а было Домен: vnukovskii.ru?
  25. dima98 (Клиенты)

    13 марта 2008 09:18 4 комментария
    наверное и новости также можно обьединить ?
  26. Araks (Посетители)

    21 марта 2008 12:09 18 комментариев
    Надо будет насоздавать поддоменов, и реализовать эту фишку. Очень полезно, спасибо.
  27. ndiezel (Клиенты)

    26 сентября 2008 14:48 20 комментариев
    Возникла такая проблема - стало нужно объединить уже работающий поддомен с доменом. Т.е. поддомен, на котором уже есть контент - с доменом, на котором также есть контент.

    В общем, что я сделал:
    1. Сделал бекап на поддомене, скопировал все файлы из папки /engine/cache/ и файл /engine/data/config.php себе на винт. (Можно вообще всю папку /engine сохранить, не критично)

    2. Закинул install.php на поддомен

    3. Запустил инсталл на поддомене, указал инфу по базе от основного сайта, указал другой префикс.

    4. Установил, в общем.

    5. Открыл бекап поддомена Dreamweaver-ом, поменял во всем файле старые префиксы на новые.

    6. Восстановил бекап на поддомене из уже отредактированного файла.

    7. Стер папку /engine/cache/ на хосте, закинул скопированную со своего винта, закинул /engine/data/config.php на хост.

    Все.
    Пользуюсь и радуюсь winked
  28. Pentaru (Клиенты)

    11 апреля 2009 19:05 21 комментарий
    А если будет так site.ru и site.com их можно объеденить или нет?
  29. -=DLE=- (Посетители)

    8 октября 2009 16:36 9 комментариев
    Pentaru, зеркало называется, можно просто перенаправить на 1 из этих сайтов..
  30. saigontov (Клиенты)

    22 октября 2010 10:23 1 комментарий
    Скажите плз. Если у меня есть site.ru и я к нему привязываю games.site.ru, то на каком из них будет производиться регистрация? только на site.ru? или пользователю будет безразницы где региться?

Информация

Комментирование публикаций доступно только пользователям имеющим действующую лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Календарь

«    Ноябрь 2024    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
252627282930 

Опрос на сайте

Совершаете ли вы покупки в интернет?