Symfony3 审计控制器



我试图在symfony3的控制器中实现安全审计。要求类似于 https://github.com/simplethings/EntityAudit 中的实体审计

案例说明:/{_locale}/简介。{_format} 页具有访问权限需要将以下信息记录到数据库表中。A. 使用的区域设置B. 请求的格式c. 是匿名请求或授权为D. 请求时间

同时,"计数器"表递增控制器的请求"命中计数器"。

最佳实践是什么,只需几行代码或参考文档就足够了。

我更喜欢使用EventListener因为它的足迹会更少。

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

因此,您可以按如下方式将侦听器添加到services.yml

acme.demo.listener.your_listener:
    class: AcmeDemoBundleEventListenerYourListener
    tags:
        - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }

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

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

SymfonyComponentSecurityCoreAuthenticationTokenAnonymousToken;

SymfonyComponentSecurityCoreAuthenticationTokenStorageTokenStorageInterface;

您可以从事件请求中获取区域设置

SymfonyComponentHttpKernelEventGetResponseEvent;

对于格式,在 GetResponseEvent 的请求对象上有一个方法getRequestFormat()。请求时间只是new DateTime()

所以一切都会好起来的。

相关内容

  • 没有找到相关文章

最新更新