Другой ответ на основе ACL с FOS Rest Bundle

Я ищу метод наилучшей практики, как я могу отправлять разные пользователи, разные ответы на основе ACL от Symfony.

Я использую FoS RestBundle. Они предоставляют JMSSerializerBundle, который я использую. Я создал модели и yml-файлы сериализатора, пока все хорошо. Все отлично выглядит и работает.

Теперь у меня есть разные пользователи, которые обращаются к этому REST API. Некоторые из них имеют расширенные разрешения, поэтому им разрешено видеть больше информации. Какова наилучшая практика для их обработки?

Необходимо, чтобы URL-адрес был одинаковым для всех.


person Chris Wittor    schedule 13.01.2016    source источник


Ответы (1)


Вы можете начать с использования групп сериализации: http://symfony.com/blog/new-in-symfony-2-7-serialization-groups

После этого вы можете выбрать, к какой группе вы хотите получить ответ: http://symfony.com/doc/current/cookbook/serializer.html

Вы по-прежнему можете использовать тот же YML, который используете: http://jmsyst.com/libs/serializer/master/reference/yml_reference

Проверьте атрибут группы!

Этого должно быть достаточно, если вам нужно больше acl: http://symfony.com/doc/current/cookbook/security/acl.html

Удачи, я надеюсь, что это поможет вам!

person Renato Mefi    schedule 13.01.2016
comment
Спасибо @johnSmith :) - person Renato Mefi; 13.01.2016
comment
Спасибо за ваш быстрый и четкий ответ. :-) Попробую завтра на работе, надеюсь работает под symfony 2.5.10 :/ - person Chris Wittor; 13.01.2016
comment
Я не уверен в этом! Но в этом случае вы можете использовать решения JMS отдельно, вызывая вызовы сериализации вручную или даже регистрируя новое событие ответа ядра. - person Renato Mefi; 14.01.2016
comment
К сожалению, руководитель моей группы активизировал другую часть проекта, поэтому я приду позже, чтобы протестировать ваше решение. Но вы обязательно получите отзыв, если я его протестирую. - person Chris Wittor; 21.01.2016