我試圖在symfony3中的控制器中實施安全審計。要求類似於EntityAudit https://github.com/simplethings/EntityAuditSymfony3審計控制器
案例說明:/{_locale}/introduction.{_format}頁面有權訪問需要將以下信息記錄到數據庫表中。 a。使用的語言環境 b。請求格式 c。是匿名請求或授權爲 d。請求時間
同時,「計數器」表增加控制器的請求「計數器」。
什麼是最佳實踐,只需要幾行代碼或參考文檔就足夠了。
我試圖在symfony3中的控制器中實施安全審計。要求類似於EntityAudit https://github.com/simplethings/EntityAuditSymfony3審計控制器
案例說明:/{_locale}/introduction.{_format}頁面有權訪問需要將以下信息記錄到數據庫表中。 a。使用的語言環境 b。請求格式 c。是匿名請求或授權爲 d。請求時間
同時,「計數器」表增加控制器的請求「計數器」。
什麼是最佳實踐,只需要幾行代碼或參考文檔就足夠了。
我寧願使用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;
區域設置格式有一個方法getRequestFormat()
上GetResponseEvent的請求對象。 RequestTime只是new \DateTime()
所以一切都會好的。