Grails安全过滤器不适用于2个控制器

Tra*_*Tam 2 security grails groovy

我正在使用grails 2.4.3,创建了一个安全过滤器.我的项目名称中有3个控制器:admin,login和report.所以我在过滤器中添加了以下内容:

def filters = {
        all(controller: 'Admin', action: '*') {
            before = {
                if (!session.company) {
                    redirect(controller: 'login', action: 'auth')
                    return false
                }
            }
            after = { Map model ->

            }
            afterView = { Exception e ->

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的意思是来自管理员控制器的任何操作,如果!session.company,页面将被重定向到登录控制器中的auth操作.

现在我想在这个过滤器中添加一个控制器报告,我该怎么做?我试过all(controller: ['Admin', 'Report'], action: '*')但它不起作用.

任何帮助将不胜感激.谢谢

Yat*_*kad 7

使用管道符号添加多个控制器,例如

def filters = {
    all(controller: 'Admin|Report', action: '*') {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

参考#如何在Grails 2过滤器中定义多个不同的控制器?