Symfony3 审计控制器
Symfony3 auditing controllers
我试图在 symfony3 的控制器中实施安全审计。与 https://github.com/simplethings/EntityAudit
中的 EntityAudit 类似的要求
案例说明:/{_locale}/introduction.{_format}页面有访问权限需要将以下信息记录到数据库table。
一种。使用的语言环境
b.要求的格式
C。是匿名请求或授权为
d.请求时间
同时,"counter"table递增控制器的请求"hit counter"。
什么是最佳实践,几行代码或参考文档就足够了。
我更愿意使用 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()
所以一切都会好起来的。
我试图在 symfony3 的控制器中实施安全审计。与 https://github.com/simplethings/EntityAudit
中的 EntityAudit 类似的要求案例说明:/{_locale}/introduction.{_format}页面有访问权限需要将以下信息记录到数据库table。 一种。使用的语言环境 b.要求的格式 C。是匿名请求或授权为 d.请求时间
同时,"counter"table递增控制器的请求"hit counter"。
什么是最佳实践,几行代码或参考文档就足够了。
我更愿意使用 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()
所以一切都会好起来的。