я работаю над проектом Symfony и использую bhLDAPAuthPlugin для подключения моего приложения к Active Directory компании.
Это хороший плагин, простой в установке и использовании, но мне нужно его настроить. Мне нужно добавить один параметр в форму входа в систему (я уже сделал это) и присвоить его значение пользователю, если вход в систему выполнен успешно (это моя проблема), но я понятия не имею, где присваиваются значения объекта пользователя.
Структура папок и имен файлов немного сбивает с толку, и я не знаю, где искать. Пожалуйста, если кто-то из вас работал с этим плагином, обязательно помогите мне! Я надеюсь, что объяснил меня хорошо.
Спасибо вам большое за ваше время!
Ответ 1 · Grad van Horck
Я ничего не знаю об этом конкретном плагине, но я просто посмотрел в источнике.
Но аутентификация обрабатывается в /plugins/bhLDAPAuthPlugin/modules/bhLDAPAuth/actions/actions.class.php. В частности, в executeSignin() создается форма (по умолчанию bhLDAPAuthFormSignin) и представляется пользователю. При POST эта форма проверяется, и когда она действительна, она вызывает функцию signIn($user, $remember) в пользовательском классе.
Пользовательский класс определен apps/<yourapp>/lib/myUser.php и, вероятно, наследуется от bhLDAPAuthSecurityUser, определенного в /plugins/bhLDAPAuthPlugin/trunk/lib/user/bhLDAPAuthSecurityUser.class.php.
Вы можете переопределить метод signIn() из bhLDAPAuthSecurityUser в myUser, установив собственные свойства, после вызова родителя signIn().