2011-12-20 7 views

ответ

1

Чтобы помочь вам начать работу вы можете проверить мой блог, который обрисовывает в общих чертах, как создать очень простую систему провайдера пользователя:

http://clintberry.com/2011/custom-user-providers-symfony2/

EDIT: Этот пост распространяется только на пользовательский поставщик. Чтобы использовать аутентификацию LDAP, вам также необходимо создать собственный поставщик аутентификации или использовать стороннюю библиотеку. http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html

+0

Я не вижу в вашем учебнике, где вы вызываете свой веб-сервис для извлечения пользователей. OO – Yoot

+0

Фактическая загрузка пользователя выполняется внутри класса пользователя. В моем случае я загружаю пользователей через REST api. У меня есть базовый класс сущности, который обрабатывает соединение с остальным сервисом для загрузки пользователей. Вы можете увидеть функцию, которая вызывается в моем провайдере внутри функции loadUserByUsername ($ username). Он вызывает функцию User :: find(), которая определена в моем базовом классе. В моем сообщении будет показано только, как создать поставщика, но вам все равно нужно создать свой собственный пользовательский объект, который обрабатывает загрузку пользователя и другие функции. Имеет ли это смысл? – Clint

0

Это первая вещь, которую я хотел бы предложить вам, чтобы сделать поиск пачкой LDAP на больших веб-сайт KnpBundles (результаты here). Я увидел два результата. Если вы хотите использовать внешний пакет, вы можете просто использовать данные, указанные в результатах.

Если вы предпочитаете создавать свой собственный комплект для этой задачи, я бы предложил вам вдохновить вас на эти два пакета. Еще одно полезное предложение - проверить FOSFacebookBundle. Это никоим образом не связано с LDAP, но они реализуют свой собственный провайдер, поэтому весь клей существует, чтобы реализовать свои собственные.

Просто небольшое уведомление, если вы разрабатываете основную ветку Symfony2, хорошо знать, что регистрация фабрики в области безопасности немного изменилась. Поэтому будьте осторожны при просмотре других пакетов, чтобы убедиться, какую версию они нацеливают.

Надеюсь, это поможет.

С уважением,
Matt

+0

Я пробовал один LDAPBundle (Boris Morel's one), но не смог заставить его работать (недопустимый тип для пути «security.factories». Ожидаемый массив, но получил строку). Мне не нравится другой (openSky), потому что вам нужно импортировать фреймворк Zend в свой проект (31Mb), что для меня не имеет смысла, поскольку мы решили использовать Symfony oO – Yoot

+0

. Я понимаю. Затем вы должны проверить эти реализации, чтобы узнать, как реализовать собственный поставщик проверки подлинности. – Matt

Смежные вопросы