Php 如何检查用户属性是否为Symfony中不同路由组的特定值?

Php 如何检查用户属性是否为Symfony中不同路由组的特定值?,php,symfony,security,symfony-3.4,Php,Symfony,Security,Symfony 3.4,系统: 用户与公司绑定。公司有执照。许可证有两个到期日。expirationBasic和expirationExtended 我想要的是: 对于50条路线,我想检查登录用户所在公司的许可证是否有expirationExtended>now 对于50条路线,我想检查登录用户所在公司的许可证是否有expirationBasic>now 我使用的是symfony 3.4这个问题缺少细节,比如检查失败时您希望系统做什么。至少有两种常见的处理方法 “Symfonic”方法是添加一个。创建一个扩展Event

系统:

用户与公司绑定。公司有执照。许可证有两个到期日。expirationBasic和expirationExtended

我想要的是: 对于50条路线,我想检查登录用户所在公司的许可证是否有expirationExtended>now

对于50条路线,我想检查登录用户所在公司的许可证是否有expirationBasic>now


我使用的是symfony 3.4

这个问题缺少细节,比如检查失败时您希望系统做什么。至少有两种常见的处理方法

“Symfonic”方法是添加一个。创建一个扩展
EventSubscriberInterface
的新类,并将其放入
EventSubscriber
目录/命名空间中。当触发相应的事件时,您的方法可以执行检查并抛出和
AccessDeniedHttpException

假设您的50条路由到多个控制器,另一个解决方案是编写一个抽象控制器类,该类被设置为最终控制器的父级。然后,该基类可以对登录用户执行检查