在SDL Tridion 2011中检索用户登录时间

在SDL Tridion 2011中检索用户登录时间,tridion,Tridion,我需要写一个脚本,生成一个报告的用户没有登录到Tridion的1年。我知道我们可以检索修改过的日期和所有文件的用户,但我们如何跟踪未进行任何修改(即只读访问)的用户的登录日期?Tridion不跟踪“此用户上次进行的修改”,因此您必须自己滚动某些内容 我想到的第一件事是写一个可识别的对象。在该处理程序中,您可以更新用户的属性。然后,该脚本可以简单地循环所有用户,获取您的AppData并确定哪些用户已停用超过一年。我从来没有写过这样的东西,实现这一点的唯一方法是创建一个GUI扩展,该扩展在用户打开C

我需要写一个脚本,生成一个报告的用户没有登录到Tridion的1年。我知道我们可以检索修改过的日期和所有文件的用户,但我们如何跟踪未进行任何修改(即只读访问)的用户的登录日期?

Tridion不跟踪“此用户上次进行的修改”,因此您必须自己滚动某些内容


我想到的第一件事是写一个
可识别的对象
。在该处理程序中,您可以更新用户的属性。然后,该脚本可以简单地循环所有用户,获取您的AppData并确定哪些用户已停用超过一年。

我从来没有写过这样的东西,实现这一点的唯一方法是创建一个GUI扩展,该扩展在用户打开CME时向用户对象添加指示登录时间的AppData

我不相信登录时会触发事件,否则我建议创建一个均衡的系统

你可以考虑读Nuno的这篇文章(http://www.tridiondeveloper.com/inheriting-metadata-on-organizational-items),它描述了执行由用户打开项目触发的操作。我的猜测是,即使用户只有只读访问权限,它也会被触发(但您需要对此进行检查)。如果在所有读取操作中触发,则可以在用户在CME中打开任何可标识对象时更新用户AppData。这将告诉您用户上次查看CME中任何项目的时间

希望有帮助


Chris

查看Tridion 2011应用程序的IIS日志。在这里,您应该看到不同用户对Tridion中所有页面的请求。有些条目如下所示:

2012-09-20 00:48:53 ::1 GET /WebUI/Editors/CME/Views/TridionDashboard/TridionDashboard.aspx - 81 TRIDION\Administrator ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.1 200 0 0 48
从上面的项目中,您可以看到TridionDashboard页面,即您登录后获得的第一个页面,由TRIDION\Administrator用户访问(是的,我的TRIDION VM称为“TRIDION”,我使用管理员帐户登录)

因此,您需要做的是确保日志填充后不会被覆盖,并将其归档到可以抓取并解析它们的位置

您需要的唯一信息是用户名。只需将其放入某种HashSet数据结构(只存储唯一的键),这样键就是用户名,值就是时间戳。我打赌您可以使用Powershell使用几行代码来完成所有解析(或者如果您使用Cygwin,那么使用grep命令也可以完成一行代码)


日志通常位于%SystemDrive%\inetpub\logs\LogFiles中,但请检查您的系统以确保位置未被修改。

您可以实现加载事件。GUI中的几乎每个操作都会调用它。一旦有人使用Tridion,该活动肯定会被称为。
但是要小心:你必须编写超高效的代码,否则会减慢系统的速度。

Mihai不久前在博客中提到了这一点,这里是链接,它也有一些代码示例:

我认为你没有抓住要点-有可能得到用户修改过的项目列表,从中可以得到用户最后一次修改CMS中项目的日期。User1684360询问,当用户最后一次登录CME时,他将如何应对登录的挑战,因为有几个用户只有CMS的读取权限,因此从不编辑任何项目。我不认为存在与用户登录CMS相关的事件,或者我错了吗?你是对的,我误读了,然后重新开始工程设计。:-)确实没有登录事件,所以GUI扩展是我唯一能想到的。或用户对象上的ReadEvent。我从来没有看过这样一个事件的确切发生,但担心它可能会引发太多。例如,当某人开始迭代所有用户时,我已经按照Chris提到的方法编写了类似的东西(在加载时编写东西)。请注意,加载事件会频繁发生,您必须确保不会因为在某个地方写入这些数据而导致系统崩溃。Mihai不久前在博客中提到了这一点,这里是链接,它也有一些代码示例:我认为Mihai的博客就是答案!您是否会将您的评论更改为答案,以便接受?当然,也可以让米海自己来做……嗨,威尔逊,谢谢你加入SO并发布关于SDL Tridion的帖子。你会考虑提交第51区的建议吗?