Search
Write a publication
Pull to refresh

CMS Drupal 6.x общая авторизация IPB

На протяжении нескольких лет, работаю и попутно изучаю CMS Drupal, я многому научился и чувствую предстоит научиться благодаря CMS Drupal. В целом как и любая бесплатная система Drupal имеет свои плюсы и минусы, но думаю рассказывать об этом не стоит.

Совсем недавно я получил заказ, на разработку небольшого ресурса. Как вы уже наверно догадались, для реализации я использовал Drupal. Дабы в очередной раз разочароваться и в тоже время порадоваться, узнав что-то новое о системе. Все было прекрасно. Но ни один из предложенных мною вариантов друпаловского форума, не подошел заказщику. В итоге был выбран отдельный, всеми известный движок под названием IPB. Далее возник вопрос, о единой системе авторизации имея две независимые БД. Погуглив и просмотрев опыт сообщества drupal.org, я сделал вывод, что инфы достаточно мало. Не буду томить, ниже FAQ по единой авторизации IPB + Drupal.

  • Устанваливаем форум ipb в корень сайта папка forum (версия непринципиальна) и в отдельную БД
  • Устанавливаем Drupal 6.х (drupal.org) в отдельную ДБ.
  • Устонавливаем два модуля интеграции в папку drupal modules, но не подключаем их. Скачать можно здесь
  • Сохраняемся и подключаем модули. Подключились без ошибок, прекрасно.
  • После чего в блоке логина, елси он у Вас выведен, ссылка на утерянный пароль меняеться автоматически, на ссылку утерянного пароля форума.


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

Я реализовал это проще всего, при регистрации на сайте, мы попадаем на регистрацию ipb и после регистрации нас редиректет снова на сайт, где мы уже залогинены и на сайте и на нашем форуме.

Редирект на главную после регистрации на форуме, я сделал так:

открываем
forum/sources/action_public/register.php

строка
2397

$this->ipsclass->boink_it($this->ipsclass->base_url.'&act=login&CODE=autologin&fromreg=1');

заменяеться на

$this->ipsclass->boink_it("http://syper_site.ru");

на url нашего сайта

Минусы:
  • Отпадает регистрация друпала, но в данном случае все необходимые поля профиля, которые мы хотели вывести в регистрационной форме друпала мы можем вывести в профиль любого юзера для изменения. Но для меня этот минус незначителен и опционален по нужде.


Плюсы:
  • Нет необходимости регистрироваться дважды.
  • Смена пароля производиться и с сайта и с форума, данные обновляются в обеих базах.
  • Если Ваш проект достаточно серьезен, ему понадобиться мощный движок форума и Вы уже знаете, что делать.
  • Базы разделены, что облегчит работу проекта при больших нагрузках.


Всем спасибо.
С Ув. Претендент на инвайт.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.