0

我需要记录用户在 sfDoctrineGuard 插件中所做的任何操作。基本上我需要记录:

module/action
date
IP from where users are accessing the application

有什么插件吗?那可能吗?如何?

4

1 回答 1

1

这可能是您需要的插件,sfDoctrineGuardLoginHistoryPlugin并允许扩展您保存的信息。

在此处检查更多插件。

看一下插件的代码,你只需要更改以下文件:PluginUserLoginHistoryTable.class.php

添加功能writeLoginHistorycreateHistoryEntry您想要的信息:

writeLoginHistory(sfEvent $event) {
//... same code than in the plugin
//lets save module and action
  if (!isset($request) )
  {
    $sActionName = sfContext::getInstance()->getActionName();
    $sModuleName = sfContext::getInstance()->getModuleName();
  }
  else
  {
    if (isset($request["module"]))
    {
      $sActionName = $request["action"];
      $sModuleName = $request["module"];
    }
  }

  //get values from the http bar URL
  if (!isset($sModuleName))
  {
    $sFullURL = sfContext::getInstance()->getRouting()->getCurrentInternalUri();
    ///... strip action and module name from the above URL
  }
}

请记住将这些值传递给 createHistoryEntry 函数,并使用要保存的更多输入值更新该函数。

于 2013-06-26T06:20:27.210 回答