0

我正在研究 grails 中的会员系统,用户可以在其中创建单独的链接,访问此链接的客人会获得一个带有唯一会话 id 的 cookie。如果几天后有些客人再次来到我的 webApp,我想知道他们已经来过这里,并且过去有哪些用户将这位客人带到我的网站。

您将如何在 grails 中实现这一点?我会说过滤器。但是我应该如何实现这样的过滤器?使用 grails 默认会话 ID 并不好,因为它会失效,而且由于服务器内存 (RAM) 的原因,我无法尽可能多地升级 grails 会话生命周期。还是 sessionId 总是在那里并且只被刷新,所以 grails 中的会话生命周期可能是 1 小时,我也可以跟踪超过一个小时的所有内容?

或者我应该为我的目的设置一个具有唯一会话 ID 的新 cookie?

4

1 回答 1

1

您可能至少需要一个过滤器和一个 cookie。

当访问者第一次访问您的站点时,我想象您将关联 ID 定义为请求参数。您可能需要创建一个before过滤器来查看访问者是否已经设置了 cookie。

如果您只是想将销售与会员关联,那么您不需要唯一的访问者 ID,只需要推荐访问者的会员 ID。在您的过滤器中,如果存在会员 ID 请求参数但没有 cookie,您可以设置 cookie。然后,当您处理销售时,您可以检查附属 cookie 是否存在。

如果您想获得更高级的指标,那么您可能需要两个过滤器(或一个执行两件事的过滤器)。一个用于设置 cookie,一个用于跟踪访问。一旦您知道要跟踪的内容,您还可以在用户会话中放置标志以保持您的指标准确(即,如果您不认为每个请求都是一次访问,您可能希望在增加后在用户会话中放置一个标志访问者的访问次数。)

于 2012-09-10T20:21:16.853 回答