Єдина реєстрація і авторизація на декількох сайтах

Дорогі друзі,

Сьогодні хотілося б розповісти вам про один з нововведення версії 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”, “ігри”);
і замінюємо її на

define (“USERPREFIX”, “site”);
Іншими словами ми поставили для параметра USERPREFIX префікс від першого сайту. Після цих дій ваш другий сайт буде використовувати базу даних для користувачів і груп користувачів від першого сайту, а для решти буде використовувати власну окрему базу даних.

Увага: Деякі просунуті користувачі після цих дій вирішать видалити невикористовувані в подальшому MySQL таблиці, але ми застерігаємо вас від цих дій, маленькі і невикористовувані таблиці не будуть вам заважати, але так як вам доведеться оновлювати надалі кожен окремо, то під уникнення конфліктів вам потрібно залишити ці таблиці, т. к. вони також будуть проходити процедуру оновлення структури.

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

Успіхів вам і всього найкращого.
328