0

sfDoctrineGuard プラグインでユーザーが行ったアクションをログに記録する必要があります。基本的に、ログに記録する必要があります:

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

任意のプラグイン? それは可能ですか?どのように?

4

1 に答える 1

1

これはおそらく必要なプラグインsfDoctrineGuardLoginHistoryPluginであり、保存した情報を拡張できます。

その他のプラグインはこちらで確認してください。

プラグインのコードを見てください。次のファイルを変更するだけです。PluginUserLoginHistoryTable.class.php

writeLoginHistory関数と必要な情報を追加しcreateHistoryEntryます。

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 に答える