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

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

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

Сегодня хотелось бы рассказать вам об одном из нововведении версии 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 таблицы, но мы предостерегаем вас от этих действий, маленькие и неиспользуемые таблицы не будут вам мешать, но так как вам придется обновлять в дальнейшем каждый отдельно, то во избежания конфликтов вам нужно оставить эти таблицы, т.к. они также будут проходить процедуру обновления структуры.

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

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

Комментарии

Dima555

Dima555

18 апреля 2007 13:11 Посетители
0
winked
WMDrakon

WMDrakon

18 апреля 2007 13:32 Клиенты
0
Спасибо!
Kaiser

Kaiser

18 апреля 2007 13:50 Посетители
0
Цитата: celsoft
... возмем ...

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

cernos

18 апреля 2007 13:57 Посетители
0
Спасибо!
chenbao

chenbao

18 апреля 2007 14:14 Посетители
0
belay
Numb

Numb

18 апреля 2007 14:36 Клиенты
0
Спасибо. Полезная вещ.. fellow
StoRM

StoRM

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

celsoft

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

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

Borisov

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

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

celsoft

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

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

Borisov

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

Akela

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

celsoft

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

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

sheff

18 апреля 2007 17:36 Посетители
0
надо попробывать
Sity

Sity

18 апреля 2007 18:09 Посетители
0
Большое спасибо! winked
Georg

Georg

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

Akela

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

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

igos

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

starsh1ne

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

Crawler

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

Daniel

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

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

celsoft

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

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

Mr 13

22 мая 2007 23:17 Посетители
0
Спасибо, полезно.
veanissepil

veanissepil

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

dima98

13 марта 2008 09:18 Клиенты
0
наверное и новости также можно обьединить ?
Araks

Araks

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

ndiezel

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

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

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

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

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

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

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

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

Все.
Пользуюсь и радуюсь winked
Pentaru

Pentaru

11 апреля 2009 19:05 Клиенты
1
А если будет так site.ru и site.com их можно объеденить или нет?
-=DLE=-

-=DLE=-

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

saigontov

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

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Календарь
«    Июнь 2017    »
ПнВтСрЧтПтСбВс
 1234
567891011
12131415161718
19202122232425
2627282930 
Опрос на сайте
Совершаете ли вы покупки в интернет?

Популярные новости
Архив новостей
Июнь 2017 (1)
Апрель 2017 (3)
Март 2017 (2)
Февраль 2017 (1)
Январь 2017 (1)
Декабрь 2016 (3)