在我正在开发的网站上,我们需要跟踪每个用户的最后访问页面(用户登录该网站)。最好的方法是什么?我们已经在使用自定义配置文件,因此添加新字段很容易。该网站不会有大量的流量,所以更新这个领域不会是一个问题,我想。有更好的想法吗? sitecore是否已经提供了我们可以使用的东西?
答案 0 :(得分:0)
默认情况下,OMS有一个“热门退出页面”报告......但会在会话之间跟踪,而不是用户。
一个好的IIS日志解析器也应该能够再次提供这些信息,即会话(或IP),而不是登录用户。
如果您真的想通过登录用户获取每个退出页面和过滤器...我要做的是将新的管道处理器添加到httpRequestBegin,并将其放在ItemResolver之后。然后保存Item.Paths.Path。如果您使用的是默认的ASP.NET Profile处理程序并且流量相当大,我建议不要将此数据写入用户配置文件,因为它的效率非常低。在这里滚动您自己的简单存储解决方案,或者只是将数据转储到日志中。
答案 1 :(得分:0)
我的第一个问题是:为什么你只需要用户的最后访问过的页面?你想确定什么?
在很多情况下,您可能正在开始分析路线,或者甚至尝试推动某些营销。
如果分析符合您的目的,您可以将事件用当前用户名作为事件变量弹出到您的Google Analytics(分析)帐户,以便您按用户和页面查看分析。或者,您可以使用Sitecore OMS / DMS功能跟踪所有数据并查看其中的分析。
如果您正在考虑推动营销,您可能希望使用OMS / DMS,特别是如果您想要开始进入个性化或参与计划。 OMS / DMS将跟踪用户活动及其访问的所有页面,但不是用户帐户。通过一些自定义,您可以添加该数据,但这取决于您尝试使用该信息的内容。用户名可能不是您的重要信息。
但是,如果您只是想知道在登录后将用户发送回哪个页面,最好将其存储在会话中或作为post参数传递,如果会话对您来说不是一个可行的选项