我需要记录用户在sfDoctrineGuard插件中所做的任何操作。基本上我需要记录:
module/action
date
IP from where users are accessing the application
任何插件?那可能吗?怎么样?
答案 0 :(得分:1)
这可能是您需要的插件sfDoctrineGuardLoginHistoryPlugin,并允许扩展您保存的信息。
检查更多插件here。
看一下插件的代码,您只需要更改以下文件: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函数,并使用更多输入值来更新该函数。