当用户第一次访问网站时,必须向用户显示弹出窗口,建议注册时事通讯等等...我想这是通过cookie检测完成的。用Grails做这件事的正确方法是什么?我们使用Spring Security Core插件,但没有找到它如何帮助我们。
答案 0 :(得分: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
}
}
}