Наверх

Интеграция MODx и Vanilla forum

Одним из наиболее востребованных приложений для MODx это пакет для форума. Несмотря на то, что в Revolution скоро будет встроенная форумная надстройка Discuss, в использовании полноценного приложения есть некоторые преимущества. Штука в том, чтобы чтобы вашим посетителям не приходилось входить в систему несколько раз, отдельно для MODx и для форума. Это означает определенную интеграцию каждой учетной записи пользователя между MODx и приложением форума. Последний выпуск старшей версии форумного пакета Vanilla, версия 2, позволяет именно это. Недавно я имел возможность использовать надстройку Vanilla, и после первоначальных сомнений, обнаружил что ее поразительно просто использовать совместно с MODx.

Со стороны Vanilla

На момент написания этой статьи, последняя версия Vanilla была 2. 0. 3. Установка и настройка форума Vanilla, а также настройка его оформления в соответствии с вашим сайтом MODx (что примерно настолько же просто, как работать с шаблонами MODx) не является основной целью этой статьи. Документация к Vanilla поможет гораздо лучше в объяснении основных фунцкций этого пакета. Как только вы сконфигурируете, оформите, и запустите ваш форум Vanilla так, как вы хотите пора настроить модуль ProxyConnect SSO. Просто закачайте папку ProxyConnect в папку модулей форума, вместе с остальными модулями. Войдите на форум и зайдите в панель настроек, затем откройте пункт Модули. Включите модуль ProxyConnect SSO. Теперь зайдите в Настройки. Выберите авторизатор ProxyConnect из выпадающего списка и включите его. Заполните поля URL вашего основного сайта и поля URL страниц MODx, которые вы будете использовать для регистрации, входа в систему и выхода. Если вы используете стандартный апплет WebLogin для входа в MODx, добавьте к URL выхода из системы выражение "?webloginmode=lo" (без кавычек). Это все, что требуется сделать со стороны Vanilla. Можете выйти из системы.

Со стороны MODx

Вам придется создать апплет и модуль, и как минимум два ресурса, чтобы включить поддержку ProxyConnect SSO со стороны MODx. Апплет для того, чтобы сгенерировать список данных о пользователях, для присоединения пользователей в Vanilla:

if(isset($_SESSION[webInternalKey])) {
  $output = "UniqueID=". $_SESSION[webInternalKey]. "\n\n";
  $output. = "Name=". $_SESSION[webShortname]. "\n\n";
  $output. = "Email=". $_SESSION[webEmail]. "\n\n";
  return $output;
}
return;

Модуль для объединения выхода из MODx с Vanilla. Все, что от него требуется удалить cookie Vanilla. Этот модуль использует системное событие OnWebLogout, так что включите его в закладке Системные события модуля. Обязательно отредактируйте часть .mydomain.com в соответствии с вашим доменом!

$e = $modx-Event;
switch($e-name) {
  case OnWebLogout:
    // integrated logout
    setcookie(Vanilla,, time() 3600, /,. mydomain. com);
    unset($_COOKIE[Vanilla]);
    break;
}

Создайте новый ресурс с пустым содержимым, и просто вставьте в него команды апплета, который вы создали. Полный адрес страницы должен соответствовать URL, который вы установили для него в настройках ProxyConnect. Создайте ресурс или ресурсы, которые вы будете использовать для входа, выхода из системы и регистрации. Они все могут быть на одной странице; опять же, удостоверьтесь что полный адрес соотвествует заданному в настройках ProxyConnect. Наконец, создайте нового web-пользователя с тем же именем, паролем и адресом e-mail, что и ваш пользователь-администратор Vanilla. Войдите в MODx с этой учетной записью, затем перейдите на форум. Вы увидите всплывающее окно с запросом, хотите ли вы создать нового пользователя Vanilla, или присоединить существующую учетную запись. Выберите второе. Если все работает нормально, вы окажетесь в системе Vanilla, зашедшим с правами администратора. Вы наверняка не захотите, чтобы всем пользователям вашего сайта выдавалось то же самое окно запроса, когда они впервые заходят на форум, поэтому добавьте эту строку в файл Vanilla config. php:

$Configuration[Garden][Authenticator][SyncScreen] = FALSE;

Когда посетитель зайдет на форум, откроется соединение с URL, указанным вами в поле Authenticate URL настроек ProxyConnect, передав cookie MODx так, как будто это был бы обычный пользователь, заходящий на страницу. Загрузится переменная MODx SESSION для данного пользователя, используя идентификатор сессии, заданный в cookie, и апплет в соответствующем ресурсе выдаст необходимые данные пользователя. Vanilla соберет данные со страницы, и проверит их по базе данных пользователей. Если пользователь не существует, Vanilla создаст его автоматически, и в любом случае (даже при недостаточных или несовпадающих пользовательских данных) пользователь войдет в систему Vanilla. Ссылки Vanilla для входа, выхода из системы и регистрации, будут перенаправлены на страницы MODx, указанные в соответствующих полях настроек ProxyConnect.


Источник: http://remontkomputerov-krasnoyarsk.ru


0 комментариев

    Авторизация

    через сервис Loginza:

    Подписка или RSS

    Буду присылать новые статьи — никакого спама



    Шаблоны MODX

    1 2 Дальше »

    Объектная
    модель
    MODX