loading...

Авторизация ...

Имя пользователя :
Пароль :
я всё забыл!

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

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

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



Комментарии пользователей

  Экспорт комментариев в RSS
 Сортировать по рейтингу, по дате

Написал USN-Team, 19 апреля 2007 в 01:46 плохой комментарий   0   хороший комментарий
Новостей: 19, комментариев: 315, Изгнанные
Карма:
оперативно

Написал kaliostro, 19 апреля 2007 в 02:27 плохой комментарий   0   хороший комментарий
Новостей: 34, комментариев: 264, Пользователи
Карма: 14±
по моему это я уже давно видел.

Написал tutorial_master2, 19 апреля 2007 в 09:13 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
Осталось написать откуда статью взял :)

Написал Fort, 19 апреля 2007 в 13:46 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
вай хорошо ))) надо себе поставить обязательно.. афтору спс

Написал empty_, 19 апреля 2007 в 15:48 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
thx

Написал cpaun, 19 апреля 2007 в 17:11 плохой комментарий   0   хороший комментарий
Новостей: 7, комментариев: 339, Пользователи
Карма:
wink спасибо

Написал kaliostro, 19 апреля 2007 в 18:04 плохой комментарий   0   хороший комментарий
Новостей: 34, комментариев: 264, Пользователи
Карма: 14±
Цитата: tutorial_master2
Осталось написать откуда статью взял :)

От куда, от куда с офф сайта
http://dle-news.ru/2007/04/18/edinaja_regi...h_sajjtakh.html

Написал anger, 21 апреля 2007 в 00:51 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
С утреца займуся тестом :)

Написал Монах, 21 апреля 2007 в 22:11 плохой комментарий   0   хороший комментарий
Новостей: 2, комментариев: 133, Пользователи
Карма:
tutorial_master2 а тебя коробит, что он тут запостил???...
Что зделал это он, а не ты?...
какая разница где, главное что полезно! http://www.4dle.ru/2007/04/19/edinaja_registracija_i_avtorizacija_na_n
eskolkikh_sajjtakh.html# wink

Написал troovor, 30 апреля 2007 в 15:52 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 2, Пользователи
Карма:
а это только на 5.7 версии да? help232

Написал Kalisha, 20 мая 2007 в 19:18 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 494, Пользователи
Карма:
Цитата: tutorial_master2
#3 написал: tutorial_master2
Осталось написать откуда статью взял :)

Какая разница, он только решил до юзеров сиего портала донести, я вот например только отсюда и узнал об этой фишке в 5,7...

Написал Symba, 12 июня 2007 в 15:56 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
Прошу заметить во внимание!!! Данного нововведения в DLE 5.7 нет! Оно есть только в версии DLE 5.3 !!!

В версиях 5.7 - 6.0 данный хак не работает!

Написал Ankor, 15 марта 2008 в 12:57 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 14, Пользователи
Карма:
Протестил на версии 6.5, создание юзеров работает, впрочем это и не удивительно, они же просто в одной БД и в одну таблицу складываются...

---
Трабл только один - авторизовавшись на одном и перейдя на второй надо заново авторизовываться, оно понятно что этого и не задумывалось, но может кто подскажет как связать авторизацию?

Написал maxim87, 2 августа 2008 в 01:34 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
а как нащот , дле 7.0 как мне там такое зделать , оч надо плис . . . Зарание благодарен

Написал Vipi, 30 октября 2008 в 21:58 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
Хм, получается оба сайта будут использовать единую авторизацию и.... все новости также будут одинаковыми на обоих сайтах? Получается что так, а то не есть хорошо.

Написал samnick, 16 ноября 2008 в 03:36 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
нет будет использоваться только общяя база юзеров

скоро буду проверять на 7.3

связывать 3 сайта

Написал Petro38, 2 мая 2009 в 10:37 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 102, Пользователи
Карма:
Есть такая проблема: если я авторизуюсь на сайте "а", то выйти, почему-то могу только с панели сайта "а". Сайт "б" на нажатие кнопки "выход" не реагирует. Причем, выхожу только с сайта "а", то есть, того, который является основным, куда подключен префикс от второго сайта. Как решить проблему? Может, с кешированием что поменять, или с кукисами?

Информация



Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Анализ Тиц и PR сайта

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed] ,td { font-family: verdana, arial, sans-serif; color: #666; font-size: 80%; }

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed]