2015-03-19 5 views
0

Я использую FOSJsRoutingBundle вместе с FOSRestBundle и то, что я хочу сделать, это определить целые контроллеры для раскрытия маршрутов, как здесь:FOSJsRoutingBundle: Не подвергайте обеспеченные и отказывали маршруты

# Bundle's routing.yml imported as resource in app/config/routing.yml 
my_api: 
    resource: 'MyBundle\Controller\ApiController' 
    type:  rest 
    prefix:  /api 
    name_prefix: my_api_ 
    options: 
     expose: true 

НО также я хочу NOT выявить маршруты, защищенные аннотацией @Secure, которые недоступны для текущего пользователя, без явной настройки expose = false на этих маршрутах. Мы все знаем, что человеческая память ошибочна, поэтому я хотел бы ее автоматизировать.

Это связано с тем, что я хочу убедиться, что любой запрещенный маршрут не будет открыт для интерфейса, если пользователь не сможет получить к нему доступ. У стороннего приложения есть угловое приложение, и нам было бы лучше знать, доступен ли маршрут, прежде чем запрашивать его (мы могли бы использовать Routing.getRoute() для проверки его допустимости и, например, не отображать пункт меню, если маршрут отклонен).

Или, может быть, для этого есть лучшее решение?

ответ

0

Основываясь на issue discussion on Github, я могу сказать, что это невозможно с помощью FOSJsRoutingBundle. В настоящий момент я не вижу другого способа добиться этого.