当用户第一次访问该网站时,必须向用户显示弹出窗口,建议注册时事通讯等等……我想这是通过 cookie 检测完成的。用 Grails 做这件事的正确方法是什么?我们使用 Spring Security Core 插件,但没有找到它对我们有什么帮助。
问问题
225 次
1 回答
0
使用过滤器可能很有意义:http: //grails.org/doc/latest/guide/theWebLayer.html#filters
如果您需要向所有用户(不仅仅是注册会员)显示弹出窗口,那么 cookie/会话可能是您唯一的解决方案。如果弹出窗口仅显示给已登录的成员,您可以使用类似于以下内容的过滤器:
showPopupOnFirstLogin(controller:'*', action:'*') {
before = {
try{
User user = springSecurityService.currentUser
if (user?.mustGetNotification && !request.xhr){
//we ignore ajax requests
redirect(controller:"home", action:"showPopup")
return false
}
}catch (Exception e){
log.error "Failed to redirect", e
}
}
}
于 2013-10-08T14:54:17.903 回答