Плагины авторизации пользователей в CMS Joomla 1.5 и WHMCS 4.3.1

Перед командой разработчиков iDivision была поставлена задача:

  • Производить авторизацию пользователей на сайте под управлением CMS Joomla под логином и паролем от биллинговой системы WHMCS. При этом если во фронтенде сайта пользователь (редактор, менеджер, администратор) вводят свои логин и пароль от сайта, то следует их также авторизовать.
  • Произодить автоматическую одновременную авторизацию пользователей в WHMCS.
  • Любые изменения на сайте не должны затрагивать ядро Joomla.

На пути решения задачи разработчики столкнулись с двумя препятствиями:

  1. Joomla создает сессию со своим собственным именем и идентификатором, а WHMCS использует дефолтное имя сессии PHPSESSID;
  2. WHMCS является сторонним защищенным приложением и не использует API функции Joomla.

Для решения задачи автоматической авторизации в Joomla и WHMCS нами было принято решение разработать два плагина для Joomla: Authentication и User Bcpanel.

Плагин Authentication Bcpanel для авторизация пользователей в CMS Joomla и WHMCS

Логика работы этого плагина заключается в использовании API WHMCS для проверки правильности введенных логина и пароля и авторизации пользователя на сайте без его автоматической регистрации.

Воспользовавшись различием формата логина в Joomla и WHMCS (в WHMCS логином является адрес электронной почты) мы разделили логику авторизации бэкенд пользователей Joomla и остальных пользователей.

Скачать плагин Authentication Bcpanel

Плагин User Bcpanel для авторизация пользователей в CMS Joomla и WHMCS

После авторизации на сайте пользователь автоматически должен быть авторизован в WHMCS. Для этого мы сохранили в переменных сессии идентификатор пользователя и хэш пароля. Логика создания сессий для пользователей бэкенда осталась прежней.

Скачать плагин User Bcpanel

Установка и настройка плагинов для авторизация пользователей в CMS Joomla и WHMCS

  1. Скачайте оба плагина по ссылкам на этой странице.
  2. Установите их на сайте под управлением Joomla стандартными средствами.
  3. Настройте и включите оба плагина.
  4. Отключите стандартные плагины Authentication и User Joomla.
  5. В общих настройках системы смените обработчик сессий с "База данных" на "Нет"

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Имя *