如何在grails中使用过滤器 [英] how to use filter in grails

查看:177
本文介绍了如何在grails中使用过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个过滤器,我想过滤每一个行动,除了一个带我去登录页面。

如果我过滤所有页面的一些条件,甚至登录页面也得到过滤,所以它卡在无限循环条件没有履行(用户未登录)。
session.getAttribute(CurrentEmployeeIds)它告诉用户是否登录


我的过滤器在这里:

  class LoginFilters {

def filters = {
all(controller:'dashboard' ,action:'*'){
before = {
if(session.getAttribute(CurrentEmployeeIds)== null){
redirect(controller:site,action:index )
return false
}
}
after = {地图模型 - >

}
afterView = {Exception e - >




$ b code



我想过滤这样一个方式,它不会过滤控制器:网站,行动:索引此网址和筛选其他一切。

提前感谢。

解决方案

您可以反转

  def filters = {
allExceptIndex(controller:site,action:index,invert:true ){
before = {
}
after = {Map model - >
}
afterView = {Exception e - >





参见文档 http:// grails。 org / doc / latest / guide / theWebLayer.html#filters


I have a filter that i want to filter every action except ONE that brings me to login page.
If i filter all pages with some condition then even the LOGIN page too get filtered and so it stuck in infinte loop as condition not fulfilled (User not Logged IN). session.getAttribute("CurrentEmployeeIds") it tell whether user is logged in or not


My filter here:

class LoginFilters {

    def filters = {
        all(controller:'dashboard', action:'*') {
            before = {
                if (session.getAttribute("CurrentEmployeeIds")==null) {
                    redirect(controller:"site",action:"index")
                    return false
                }
            }
            after = { Map model ->

            }
            afterView = { Exception e ->

            }
        }
    }
}

I want to filter in such a way that it don't filter controller:"site",action:"index" this url and filter everything else.
thanks in advance.

解决方案

You can invert filter rule, like:

def filters = {
    allExceptIndex(controller:"site",action:"index",invert:true) {
        before = {
        }
        after = { Map model ->
        }
        afterView = { Exception e ->
        }
    }
}

See docs http://grails.org/doc/latest/guide/theWebLayer.html#filters

这篇关于如何在grails中使用过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆