Symfony3审核控制器

时间:2016-02-16 09:49:35

标签: security audit symfony

我试图在symfony3中的控制器中实现安全审核。要求与https://github.com/simplethings/EntityAudit

中的EntityAudit类似

案例说明:/ {locale} / introduction.{_format}页面有访问权限需要将以下信息记录到数据库表中。 一个。使用的语言环境 湾请求的格式 C。是匿名请求或授权为 d。请求时间

同时,"计数器" table递增请求" hit counter"控制器。

什么是最佳做法,只需几行代码或参考文件即可。

1 个答案:

答案 0 :(得分:0)

我更愿意使用EventListener它会减少占地面积。

使用EventListener是一种最佳做法,例如以下情况。将电子邮件发送到审计,跟踪信息,日志记录,例外,API订阅等。

因此,您可以为services.yml添加一个监听器,如下所示。

acme.demo.listener.your_listener:
    class: Acme\DemoBundle\EventListener\YourListener
    tags:
        - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }

请查看更多详细信息。 http://symfony.com/doc/current/cookbook/event_dispatcher/event_listener.html

以下是用户匿名用户还是经过身份验证的用户:

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()

所以一切都会好的。