限制grails Web应用程序中的特定页面

时间:2013-11-29 13:36:11

标签: grails grails-2.0 grails-controller

我有一个grails的小网站,有两页。首先是开始,第二页是详细信息页面。此页面的网址为http://somecomp.com/starthttp://somecomp.com/details

现在我的第一页是起始页面有一个标签,它将最终用户带到详细信息页面。

我希望基本上确保我的所有最终用户首先进入开始页面,然后导航到详细信息页面。如果他直接打开http://somecomp.com/details,我想限制用户。

这可以通过一些快速的方式在grails和grrovy中完成。任何指针都会有所帮助。

谢谢JK

2 个答案:

答案 0 :(得分:4)

一种简单的方法可能是使用过滤器在details页面之前截取您的请求,然后在会话中检查某种标记,以查看是否首先访问了起始页面。

在索引或起始页的第一个操作中设置该标记。

StartController

def index(){
   session.startVisited = new Date()
} 

class StartPageFilters {
    def filters = {
        startCheck(controller: '*', action: '*') {
            before = {
                if (!session.startVisited ) {
                    redirect(action: '....')
                    return false
                }
            }
        }
    }
}

答案 1 :(得分:0)

对于所需的方案,实现目标的真正方法是使用Grails Webflow plugin link。有关工作示例,您可以参考this git repository