Как я могу интегрировать логины пользователей с моего сайта в phpBB?
Мне нужна помощь с тем, что, вероятно, является вопросом новичков с точки зрения модификации phpBB.
У меня есть вся система, разработанная на PHP, и я хотел бы интегрировать phpBB, чтобы люди могли перемещаться по форумам и публиковать их без проблем, не войдя снова.
Теперь использование таблицы пользователей phpBB в качестве таблицы пользователей для моей системы (и регистрация людей в phpBB вместо моего веб-сайта) невозможна, к сожалению (потребуется больше работы для повторной настройки нашей системы, чем для создания собственных основной форум).
Я предполагаю, что я могу взломать свой путь в создании phpBB, полагая, что определенный идентификатор пользователя вошел в систему, однако, что пользователь не будет существовать в таблице пользователей phpBB (который, как я предполагаю, приведет к ошибке почти везде).
Все учебники и сообщения на форуме, которые я мог найти, подразумевали наличие phpBB в качестве основного. Я не мог найти ничего, чтобы сделать это наоборот.
Я предполагаю, что единственный возможный способ решить эту проблему - это обеспечить одновременную синхронизацию обеих таблиц.
Теперь, при условии, что у меня может быть синхронизирована таблица пользователей, как наилучшим образом можно интегрировать оба сайта, сохраняя таблицу входа в систему и таблицу пользователей как "первичные"?
Кроме того, есть ли что-нибудь особенное, о чем я должен помнить при создании записей в таблице пользователей phpBB? Или это относительно просто понять? С какими таблицами следует писать, если их несколько?
Ответы
Ответ 1
Это старый вопрос, поэтому я уверен, что вы уже что-то сработали, но если вам нужно будет реорганизовывать вещи в будущем, это вполне возможно с помощью плагинов аутентификации в phpBB3:
http://wiki.phpbb.com/Authentication_plugins
Теперь я работаю над тем, где phpBB является "вторичной" системой, и все идет хорошо.
Ответ 2
Я только что работал над этой задачей сегодня, после того, как какое-то исследование осуществило плагин аутентификации Вот хороший пример Получение phpBB для приема сеансов Django
Ответ 3
У меня есть встроенный phpBB с сайтом раньше, однако я использовал таблицу логических систем/пользователей phpBB как основную, как вы сказали. Поскольку phpBB - довольно продвинутое программное обеспечение для форумов, проект будет довольно трудоемким, чтобы полностью изменить систему пользователя и логина.
Когда мне приходилось использовать вход в систему как основной, я использовал PunBB. Это было проще изменить PunBB.
Если вам абсолютно необходимо использовать свой собственный логин как основной, а phpBB, то я согласен с вами в том, что самым простым способом было бы синхронизировать таблицы и вызывать оба сценария входа, когда кто-то входит в систему.
Когда вы вставляете данные в phpBB, таблица пользователей довольно проста. Каждая запись имеет базовую информацию для пользователя, и если у вас есть пользовательские поля для профилей пользователей, они входят в таблицы profile_fields
и profile_fields_data
.
Одна сложная вещь - как phpBB шифрует пароли пользователей. Я думаю, что для этого нужно использовать функцию phpBB, называемую phpbb_hash($password)
. Он объявлен в файле
phpbb/includes/functions.php
Для кода входа phpBB см. funciton login_box в файле phpbb/includes/functions.php
Ответ 4
Вы можете использовать ниже, чтобы войти в phpBB:
$result=$auth->login($username, $password);
if ($result['status'] == LOGIN_SUCCESS) {
echo "You're logged in";
} else {
echo $user->lang[$result['error_msg']];
}