在我的应用中,我有不同的页面,用户可以与之交互。我需要的是以下内容。我想跟踪:
我想在没有谷歌分析的情况下跟踪数据,因为我想自己分析数据。
答案 0 :(得分:2)
使用Grails过滤器:
class TrackingFilters {
def trackingService
def filters = {
access(controller: '*', action: '*') {
before = {
if (!session.user) {
trackingService.trackIpAddress(getIpAddress())
} else {
trackingService.trackUser(session.user)
}
}
}
}
}
<强>更新强> Grails过滤器是一段代码,您可以在请求之前和之后执行grails。 您可以使用修饰符指定哪些控制器以及哪些操作受到影响。
您可以使用该命令创建过滤器 grails create-filters example.Tracking
您选择的名称仅限于您。
然后你可以在tyhis生成的骨架类中定义一个过滤器,(我创建了“访问”过滤器,适用于所有控制器和动作)
在过滤器内部,您可以访问请求和会话,因此您应该能够使用此上下文来跟踪您的用户,例如:
request.getRemoteAddr()
request.getHeader("X-Forwarded-For")
request.getHeader("Client-IP")
完全迂腐:trackingService是您实施的假设服务。