【问题标题】:FOSJsRoutingBundle: do NOT expose secured and denied routesFOSJsRoutingBundle:不公开安全和拒绝的路由
【发布时间】:2015-05-22 06:10:01
【问题描述】:

我正在使用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

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

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

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

【问题讨论】:

    标签: angularjs symfony fosrestbundle symfony-routing


    【解决方案1】:

    基于issue discussion on Github,我可以说FOSJsRoutingBundle 本身无法做到这一点。目前我没有看到任何其他方法来实现它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-08
      • 2012-10-19
      • 2017-06-12
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      • 2018-10-22
      • 1970-01-01
      相关资源
      最近更新 更多