Symfony2 вход / выход ответ в json - PullRequest
0 голосов
/ 27 февраля 2012

Настольное приложение взаимодействует с моим сайтом, работающим на symfony2, и требует ответа в json, начиная с успешного входа / неудачного входа.Используя http_basic и провайдеров, если логин правильный, все работает нормально, но я не могу отправить ответ json.И если логин неверный, он снова выводит диалоговое окно с именем пользователя и паролем.Как я могу остановиться при первой попытке и отправить ответ json

{
'message':'invalid password/username'
}

security.yml

 app:
            pattern:   ^/app.*
            logout: true 
            security: true
            http_basic:             
              provider: webservice  
providers:
        fos_userbundle:
            id: fos_user.user_manager

        webservice:
            id: my_provider

config.yml

my_provider:      
        parent: doctrine.odm.mongodb.security.user.provider
        arguments: [ Se\PPBundle\Document\User, username]

tl; dr Я хочу ответить с помощью json при входе в систему.

1 Ответ

2 голосов
/ 28 февраля 2012

Судя по всему, вы используете пакет FOS User для обработки вашей аутентификации.В этом случае вам потребуется перегрузить действие входа в систему контроллера FOS Security.Измените логику, чтобы при возникновении ошибки отправлять разностный ответ, а не просто отображать представление с ошибками.Вам также нужно будет настроить маршрутизацию для входа в систему.Кое-что с эффектом:

_login:
    pattern: /login
    defaults: {_controller: "FOSUserBundle:Security:login", _format:json}

Обратите внимание на _format: json, это вернет ваши ответы как "application / json", вам все равно потребуется json_encode возврата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...