How to define multiple distinct controllers in Grails 2 filter?

后端 未结 3 1792
闹比i
闹比i 2020-12-18 19:47

Is it possible to define multiple distinct controller in a Grails 2 web application filter? For example, something like:

def filters = {
    someFilterMethod         


        
3条回答
  •  遥遥无期
    2020-12-18 20:18

    If you can define a rule that matches index.gsp, then you can define a rule that matches everything but index.gsp by adding invert: true. I guess something like this should do it:

    def filters = {
        someFilterMethod(uri: '/', invert: 'true') {
    
        }
    }
    

    It seems like the following should also work:

    def filters = {
        someFilterMethod(uriExclude: '/') {
    
        }
    }
    

    You can provide a regex instead of a literal path, so if you also need to exclude '/index' as well, then you just need to replace '/' with a regex that matches '/' and '/index'. My regex skills are rusty, but something like this should do it:

    def filters = {
        someFilterMethod(uriExclude: '/(index)?', regex: true) {
    
        }
    }
    

    Warning

    I haven't tested any of the code above, so caveat emptor!

提交回复
热议问题