0

我正在使用FOSJsRoutingBundle并且FOSRestBundle我想做的是定义整个控制器来公开路由,如下所示:

# 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

我也不想公开使用注释保护的路由,当前用户无法访问这些路由,而无需明确设置路由。我们都知道人类的记忆是容易出错的,所以我想自动化它。@Secureexpose = false

这是因为我想确保如果用户无法访问它,任何被拒绝的路由都不会暴露给前端。前端有 Angular 应用程序,我们最好在请求它之前知道路由是否可访问(我们可以Routing.getRoute()用来检查它是否允许,例如,如果路由被拒绝,则不显示菜单项)。

或者也许有更好的解决方案?

4

1 回答 1

0

基于Github 上的问题讨论,我可以说 FOSJsRoutingBundle 本身不可能做到这一点。目前我看不到任何其他方法可以实现它。

于 2015-03-19T14:01:11.460 回答