Пользовательская аутентификация, которая не требует UserProvider

Я искал в сети решение для моей конфигурации, но не могу найти то, что удовлетворяет мои потребности. До сих пор я работал над этим 3 полных дня, и я не могу заставить его работать должным образом, я уверен, что есть несколько вещей, которые я не понял.

Я разрабатываю мое приложение Symfony на ветке 2.1.

Чтобы сделать это коротким. У меня есть веб-сервис, который я хочу использовать для аутентификации.

Это поток, который я хочу реализовать:

Пользователь отправляет учетные данныеЭти учетные данные (необходимы имя пользователя и пароль) отправляются на мой веб-сервисЕсли имя пользователя / пароль верны, веб-сервис предоставляет массив с именем пользователя, ролями и некоторыми другими вещами, кроме пароля. (если учетные данные не верны, будет возвращен массив с одним полем)Как только веб-сервис выдаст «большой» массив, я хочу, чтобы пользователь считался аутентифицированным.В зависимости от возвращенных ролей, я хочу, чтобы компонент безопасности Symfony давал соответствующую авторизацию пользователю.Я хотел бы избежать звонка в веб-сервис для каждой просматриваемой страницы.

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

Чтобы закончить, мне не нужно иметь UserProvider, так как моя аутентификация выполняется на удаленном сервисе. Но, по-видимому, для компонентов Symfony требуется пользовательский провайдер (независимо от его типа).

Я благодарю вас заранее

Редактировать: чтобы упростить, можно ли передать нечто большее, чем просто переменная $ username в функции loadUserByUsername () в классе UserProvider (который реализует UserProviderInterface)? Мне нужно, чтобы пользователь передавал в дополнение к его / ее имени пользователя для получения объекта пользователя.

Ответы на вопрос(1)

Ваш ответ на вопрос