Интеграция авторизации phpbb3

Часто бывает необходимо сделать общую авторизацию для phpBB3. Например тогда когда сайт сделан на какойто определенное CMS а форум для сайта отдельно на phpBB3.

искал решения
в конце написал свой вариант

опишу вкратце

пример кода

пусть поле логина имеет имя login, а поле пароля login_pass


//- авторизируемся на форуме
//-- создаем переменные для форума
define('IN_PHPBB', true);

// Set phpBB root folder properly. Change in according to the actual board folder
//-- где расположен скрипт форума физически
define('PHPBB_ROOT_PATH', './forum/');
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';

$phpEx = substr(strrchr(__FILE__, '.'), 1);
//--подключаем библиотеки

include($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
require($phpbb_root_path . 'includes/functions_module.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');

// Initialize login result array
$login = array();

// Check if user has submitted login and password and try to log in
if(isset($_POST['login']) && $user->data['user_id'] == ANONYMOUS)
{
$username = request_var('login', '', true);

$password = request_var('login_pass', '', true);

$autologin = (!empty($_POST['autologin'])) ? true : false;
//-- $login будет содержать параметры пользователя если они ненужны то просто $auth->login($username, $password, $autologin);
$login = $auth->login($username, $password, $autologin);
}

само собой необходимо существование зарегистрированного пользователя в phpbb3

Post to Twitter Tweet This Post

  • anonymous в phpbb3
  • интеграция Google AdWords и Analytics
  • phpbb3 Warning includes/auth/auth_.php
  • phpBB3 Внешняя авторизация
  • Интеграция SEOzavr в Wordpress
  • 5 комментариев на “Интеграция авторизации phpbb3”

    1. Александр пишет:

      А если нужно зделать чтоб проходила проверка на правильность логина пароля?

    2. admin пишет:

      для Александр:

      $login = $auth->login($username, $password, $autologin);

      $login будет содержать параметры
      в случае правильной авторизации данные в виде массива о учётке пользователя
      в случае ошибки , тоже набор данных в виде массива, один из элементов массива возвращаенного в $login код ошибки

    3. Александр пишет:

      Спасибо разобрался!

    4. Снайпер пишет:

      Не подскажите есть ли где подобного вида модули для интеграции phpbb3 нужно сделать единую регистрацию с phpbb3 на самописном двжике

    5. saintist пишет:

      Снайперу:
      относительно модулей не знаю, не интересовался этим вопросом, может плагины в phpbb3 где и есть , вот вроде бы что-то похожее http://saintist.ru/2009/04/22/phpbb3-vneshnyaya-avtorizaciya/
      в принципе можно такой модуль самому написать код приведенный в статье дает базовые понятия

    Оставить комментарий