使用Symfony2,我正在寻找一种在任何控制器之外轻松访问给定请求的主路由前缀的方法:
我试图找出处理与 Symfony2 中某些数据库元素相关的访问控制的最佳方法。
我想/application/APP_ID
根据Subscription
存储在数据库中来限制对路径中某些“应用程序”的访问。每个受限资源都将在此路径中。
订阅引用了一个用户实体和一个应用程序实体。它包括一个结束日期。在此结束日期之后,应用程序将不再可用。
限制应该是:对于以 开头的每个资源/application/APP_ID
,我需要检查是否应该访问控制器。此前缀是静态的,实际上在 app/config/routing.yml 中定义为“前缀”,相应的路由名称存储在应用程序实体属性之一中。其他涉及的路由在独立的 routing.yml 文件中定义,例如位于主路由文件中MyAppBundle/Resources/config/routing.yml
并导入到主路由文件中。
我能否轻松知道当前请求的路由(例如 /application/APP_ID/action/1)是否包含在定义前缀(例如 /application/APP_ID)的路由中,以便了解所关注的应用程序?
或者,有没有一种方法可以做到这一点,而不必给出必须为每个添加的应用程序、添加或修改的路由进行修改的路由或路径列表?