Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Интеграция сайта и форума (autologin)

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
sersar
phpBB 1.0.0
Сообщения: 4
Стаж: 4 года 4 месяца
Откуда: Одесса (Украина)

Интеграция сайта и форума (autologin)

Сообщение sersar »

Здравствуйте, Гуру сообщества!

После недели копаний в руководствах, форумах (прочитаны темы данного сообщества), скриптах так и не смог решить задачу. Поэтому обращаюсь с просьбой помочь и ответить на вопросы.

Задача такая: сайт к которому надо прикрутить форум так чтобы
- Интеграция только через расширения без вмешательств в исходники.
- Регистрация только через сайт.
- Если пользователь авторизован на сайте, то на форуме авторизация должна пройти автоматически.
- Подключать библиотеки форума в CMS или наоборот нельзя.
- Корректная работа сессий форума.

Что сделал
- После долгих поисков за основу взял этот код: https://github.com/tohtamysh/laravel-phpbb-bridge.
- Отключил регистрацию в форуме.
- В качестве провайдера выбрал данное расширение.

Что не понимаю на данный момент и главная проблема
Как вообще правильно должен работать метод public function autologin()? Для автоматического входа ему каждый раз надо отдавать массив с пользователем? В моём представление должно быть так, что если пользователь не авторизован, то происходит “поиск” и если нашли пользователя - авторизует и больше не спрашивает. А так она плодит сессии каждый раз при обновлении страницы. Кликаешь выход - появляется сообщение с ошибкой сессии.

Как правильно авто залогинить и чтоб сработали все нужные методы входа и сессий?

На всякий случай для ответов с предложением мне погуглить ссылки под спойлером =)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Интеграция сайта и форума (autologin)

Сообщение Sheer »

Нужен еще ключ автовхода и куки. --> Курите таблицу https://www.phpbbguru.net/database/tabl ... ions-keys/
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
sersar
phpBB 1.0.0
Сообщения: 4
Стаж: 4 года 4 месяца
Откуда: Одесса (Украина)

Re: Интеграция сайта и форума (autologin)

Сообщение sersar »

Sheer писал(а): 20.12.2019 13:27 Нужен еще ключ автовхода и куки. --> Курите таблицу https://www.phpbbguru.net/database/tabl ... ions-keys/
С ключом вариант подходит. Для его работы надо сделать перехват метода создания сессии и включить авто вход ($persist_login).

function session_create($user_id = false, $set_admin = false, $persist_login = false, $viewonline = true)

Подскажите в phpbb какие-нибудь есть способы перехвата (триггеры/хуки)? Или весь метод переопределить надо?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Интеграция сайта и форума (autologin)

Сообщение rxu »

sersar писал(а): 20.12.2019 18:11 в phpbb какие-нибудь есть способы перехвата (триггеры/хуки)
Полно.
Event List
Изображение
sersar
phpBB 1.0.0
Сообщения: 4
Стаж: 4 года 4 месяца
Откуда: Одесса (Украина)

Re: Интеграция сайта и форума (autologin)

Сообщение sersar »

rxu писал(а): 20.12.2019 18:15 Полно.
Event List
События есть: core.auth_login_session_create_before, core.session_create_after, core.update_session_after. Толку от них нет.

Какие ещё варианты есть?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Интеграция сайта и форума (autologin)

Сообщение rxu »

sersar писал(а): 21.12.2019 10:09 Толку от них нет.
Неясно, я чем это выражается.
sersar писал(а): 21.12.2019 10:09 Какие ещё варианты
Создайте собственный модуль аутентификации, который будет добавлять нового пользователя при его отсутствии. Общие подходы тут
https://area51.phpbb.com/docs/dev/3.2.x ... ation.html
Изображение
sersar
phpBB 1.0.0
Сообщения: 4
Стаж: 4 года 4 месяца
Откуда: Одесса (Украина)

Re: Интеграция сайта и форума (autologin)

Сообщение sersar »

rxu писал(а): 21.12.2019 11:39 Неясно, я чем это выражается.
События прописаны после создания сессии или не в нужных местах. Так что не получается подменить значение. Наверно это сделано с целью безопасности.
rxu писал(а): 21.12.2019 11:39 Создайте собственный модуль аутентификации, который будет добавлять нового пользователя при его отсутствии. Общие подходы тут
https://area51.phpbb.com/docs/dev/3.2.x ... ation.html
Провайдер есть (как написал в первом посте):
- После долгих поисков за основу взял этот код: https://github.com/tohtamysh/laravel-phpbb-bridge.
Вход/выход сам процесс работает. Осталось только добиться чтоб при авто входе сработал функционал "запомнить" и поставил куку. Или искать событие которое срабатывает последним. Поставить куку и править значения отдельно, но не хотелось бы такие костыли.
Перенесено из форума Поддержка phpBB 3.2.x в форум Для авторов 21.12.2019 14:06 модератором rxu

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Интеграция сайта и форума (autologin)

Сообщение rxu »

sersar писал(а): 21.12.2019 13:19 Осталось только добиться чтоб при авто входе сработал функционал "запомнить" и поставил куку.
Наверное, можно взять за основу то, как это сделано в ядре?
И даже в этом "древнем" скрипте [FAQ] Интеграция входа на конференцию с сайтом это уже было реализовано. Насколько я помню, там всё просто - достаточно передать флаг autologin из чекбокса.
Изображение
granzik
phpBB 1.0.0
Сообщения: 1
Стаж: 4 года 4 месяца

Re: Интеграция сайта и форума (autologin)

Сообщение granzik »

Привет! sersar, хотел тебе в лс написать, но почему то запрещено это делать тут.
У меня такая задача - на сайт прикрутить форум. Есть сайт со своей бд, своими пользователями. Форум я поставил. Теперь след задача это сделать так, чтобы:
1. Если пользователь авторизован на сайте, то он автоматом авторизовывался на форуме (autoligin полагаю, и без копирования пользователя в бд форума). То есть если нажимает на вкладку форум то попадает сразу на список форумов без запроса логина.

У меня честно вообще нету идей.
Я попробовал создать новый auth provider (https://area51.phpbb.com/docs/dev/3.2.x ... ation.html), в админ панели появилось что его можно поставить, но что внутри класса прописывать я не понимаю. Мне каким то образом надо подставить данные из сессии (там лежит логин пользователя сайта - я его получил просто подключив инклудом файл с конфигом сайта) и делать запрос из бд сайта? Честно хотя бы какой то псевдо код чтобы понять что делать.
Мой план был таков:
1. В метод login передаем логин (из сессии)
2. Далее делаем запрос к бд сайта (тут тоже заминка, так как класс auth использует подключение с базой форума, то есть надо чтоли еще какое то второе подключение создавать)
3. Получив данные с бд сайта о пользователе делаем success.
Payalnik610
phpBB 1.4.1
Сообщения: 40
Стаж: 9 лет 2 месяца
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Re: Интеграция сайта и форума (autologin)

Сообщение Payalnik610 »

Добрый день, Ну так что у Вас в результате, получилось?
Тоже дошел до этапа объединения сайта с форумом, пора искать пути...
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Интеграция сайта и форума (autologin)

Сообщение rxu »

Payalnik610, что именно считаете интеграцией? Общий вход, общую базу пользователей с основной базой форума, с основной базой сайта, или что-то иное? В данной теме речь шла только про общий вход, так как всё остальное автор уже сделал.
Изображение
Payalnik610
phpBB 1.4.1
Сообщения: 40
Стаж: 9 лет 2 месяца
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Re: Интеграция сайта и форума (autologin)

Сообщение Payalnik610 »

rxu, задача следующая:
есть сайт:
Персональная таблица пользователей;
Нет регистрации (управление через PHPMyAdmin);

и форум:
PHPbb 3.2.4

Необходимо зайти на сайт и чтобы авторизация прошла и на сайте и на форуме.

Думаю можно сделать так чтобы после авторизации на сайте отправить логин и пароль на форум для авторизации, но пока с паролем на форуме не совсем понял его шифрование. Это первый вопрос, как шифруется пароль...? Нашел вот тему - изучаю.

Далее делаем регистрацию на сайте, создаем на форуме пользователя остается только дело за паролем... Вопрос вытекает из первого...

И третье как отключить смену пароля на форуме и форму авторизации, только код удалять?



Вот думаю, все-таки встать на сторону дублирования информации, но вот как связать пользователя сайта с форумным, пока думаю.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Интеграция сайта и форума (autologin)

Сообщение rxu »

Payalnik610 писал(а): 26.04.2020 18:29 первый вопрос, как шифруется пароль...?
Система применяет самый сложный из доступных на используемой версии PHP алгоритм.
Payalnik610 писал(а): 26.04.2020 18:29 как отключить смену пароля
В админразделе настроить глобальное право доступа группе зарегистрированных пользователей Может менять пароль - Никогда.
Payalnik610 писал(а): 26.04.2020 18:29 и форму авторизации
Тут только удалением кода из шаблона. Либо скрыть ее через css расширением.
Изображение
Payalnik610
phpBB 1.4.1
Сообщения: 40
Стаж: 9 лет 2 месяца
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Re: Интеграция сайта и форума (autologin)

Сообщение Payalnik610 »

rxu писал(а): 26.04.2020 18:39 Система применяет самый сложный из доступных на используемой версии PHP алгоритм.
где можно по подробнее об этом почитать?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Интеграция сайта и форума (autologin)

Сообщение rxu »

В коде ядра :dontknow
Изображение

Вернуться в «Для разработчиков»