Как стать автором
Поиск
Написать публикацию
Обновить

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 нашего сайта

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


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


Всем спасибо.
С Ув. Претендент на инвайт.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.