Security Symfony3审核控制器

Security Symfony3审核控制器,security,audit,symfony,Security,Audit,Symfony,我试图在symfony3的控制器中实现安全审计。类似于中EntityAudit的要求 案例说明:/{u locale}/introduction.{u format}页面具有访问权限,需要将以下信息记录到数据库表中。 A.使用的区域设置 B要求的格式 C是匿名请求还是授权为 D请求时间 同时,“计数器”表增加控制器的请求“命中计数器” 最好的做法是什么,只需几行代码或参考文档就足够了。我更喜欢使用EventListener这样占用的空间更小 在以下情况下,使用EventListener是最佳实践

我试图在symfony3的控制器中实现安全审计。类似于中EntityAudit的要求

案例说明:/{u locale}/introduction.{u format}页面具有访问权限,需要将以下信息记录到数据库表中。 A.使用的区域设置 B要求的格式 C是匿名请求还是授权为 D请求时间

同时,“计数器”表增加控制器的请求“命中计数器”


最好的做法是什么,只需几行代码或参考文档就足够了。

我更喜欢使用
EventListener
这样占用的空间更小

在以下情况下,使用
EventListener
是最佳实践。向审计部门发送电子邮件、跟踪信息、日志记录、异常、API订阅等

因此,您可以向
服务.yml
添加一个侦听器,如下所示

acme.demo.listener.your_listener:
    class: Acme\DemoBundle\EventListener\YourListener
    tags:
        - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
请参阅更多详细信息

无论用户是匿名用户还是经过身份验证的用户,请使用以下命令:

Symfony\Component\Security\Core\Authentication\Token\AnonymousToken

Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
您可以从事件请求获取区域设置

Symfony\Component\HttpKernel\Event\GetResponseEvent;
对于格式,在GetResponseEvent的请求对象上有一个方法
getRequestFormat()
。 RequestTime只是
new\DateTime()

所以一切都会好起来的