LDAP и не только

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

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

LDAP и не только

Сообщение d1m_0n »

Здравствуйте. На тестовом стенде экспериментирую с крайней версией phpbb, включил авторизацию через ldap. Все работает, НО:
1. Теперь не могу войти под локальным главным админом, он же не ldap. :evil: Как-то можно выкрутиться из данной ситуации? По факту на тесте сейчас нет ни одного работоспособного админа. Коннект с ldap сделан отдельной УЗ не входившей на форум.
2. Правильно ли я понимаю что при авторизации по ldap информация по пользователям скажем так "глубоко" не интегрируется в БД и phpbb. Имею ввиду после выклчения авторизации они не смогут входить под этими учетками уже как-бы локально, по которым ранее входили по ldap? Есть варианты реализации входа и так и так, на случай форс-мажоров с ldap?
3. В mysql/mariadb инфа по всем пользователям лежит только в таблице users или еще гдето связи имеются? Спрашиваю в контексте проливания скриптов в БД для создания юзеров массово.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: LDAP и не только

Сообщение rxu »

Мало кто использовал LDAP аутентификацию за всю историю phpBB, поэтому ответить можно только теоретически.
1. Выкрутиться [наверное] можно, если создать на сервере LDAP пользователя с таким же именем, как и локальный.
2. При LDAP аутентификации проверяется наличие учетной записи phpBB с таким же именем, если таковая отсутствует - то она создается. Исходя из этого, при "отвале" LDAP надо нештатными методами (например, через SQL запрос) поменять тип аутентификации phpBB на Db и входить как обычно.
3. Не только. Еще таблицы групп, полей профиля, уведомлений, возможно и другие неявно. Для создания учетных записей скриптом лучше использовать функцию user_add() в includes/functions_user.php.
Изображение
d1m_0n
phpBB 1.0.0
Сообщения: 9
Стаж: 3 года 9 месяцев
Благодарил (а): 1 раз

Re: LDAP и не только

Сообщение d1m_0n »

rxu писал(а): 11.01.2025 7:14 Выкрутиться [наверное] можно, если создать на сервере LDAP пользователя с таким же именем, как и локальный

Была такая мысль, попробую, но если ldap чувствителен к совпадению паролей, то тут будет посложней.
rxu писал(а): 11.01.2025 7:14 функцию user_add() в includes/functions_user.php
можно поподробней как воспользоваться этой информацией? элемент кода в данном файле посмотрел.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Re: LDAP и не только

Сообщение rxu »

d1m_0n писал(а): 11.01.2025 20:10 как воспользоваться этой информацией

В общем виде примерно так (создается пользователь с пустым паролем и стандартными параметрами по умолчанию):

Код: Выделить всё

<?php

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);

$user_row = [
	'username'		=> 'Вася',
	'user_email'	=> 'vasya@email.tld',
	'group_id'		=> 2,
	'user_type'		=> 0,
];

$user_id = user_add($user_row);
die($user_id ? 'User added' : 'Failed to add user');
Изображение

Вернуться в «Поддержка phpBB 3.3.x»