2010-12-10 47 views
3

我发现其中一个beforeInterceptor在控制器用于将用户重定向,如果他们还没有登录这个简单的Grails权威性的一个例子,它看起来是这样的:的Grails:可重复使用的认证拦截

def beforeInterceptor = [action:this.&checkUser,except:['login']] 
    def checkUser() { 
    if(!session.user) { 
     redirect(controller:'home') 
     return false 
    } 
    } 

这是所有好,如果你只有一个你必须保护的控制器,那就很好。当你有更多的时候会发生什么?我不能将checkUser方法放入服务中,因为服务无法重定向,并且可能没有session对象。请帮助

回答

2

Grails Filters应该做的伎俩。链接的页面有一个使用过滤器进行身份验证的示例。