grails - Grails过滤器的调用顺序是如何定义的

标签 grails filter

我正在使用 filters处理 Grails 应用程序的身份验证和其他一些先决条件检查。我遇到过这样一种情况,即确保始终在过滤器 B 之前调用过滤器 A 会很好。

根据文档,“过滤器按照定义的顺序执行”,但不清楚该定义指的是什么。我熟悉 Java EE ServletFilters 的工作原理,其中序列由 web.xml 中相应标记的顺序声明,但由于部署是在 Grails 中自动处理的,我不确定在哪里可以影响顺序其中设置了过滤器。

这在 Grails 中是否可行,如果可以,如何实现?

更新

如果在一个类中声明了多个过滤器,很明显它们将按照声明的顺序执行。我更关心定义在不同类中的过滤器以及考虑这些类的顺序。

最佳答案

Molske 是正确的,它们是按照类中定义的顺序执行的。一个异常(exception)是第一个返回 false 的“before”过滤器会停止处理。

还有一个新的配置选项“dependsOn”,您可以使用它来对不同的过滤器类进行排序,即 MyFilters2 在 MyFilters1 之后运行。请参阅 http://grails.org/doc/latest/ 处的“6.6.4 过滤器依赖项”

关于grails - Grails过滤器的调用顺序是如何定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3443945/

相关文章:

javascript - 如何不传递 HTML 表单中的空输入字段

NHibernate 过滤器集合

java - 如何从 Grails 中的 Http 响应获取 boolean 值

grails - <g:actionSubmit>和<g:submittButton>之间的区别

r - 如何在 Shiny 中使用 rhandsontable 删除列

c++ - Windows C++过滤声音输出

javascript - TextFinder 的替代方案或搜索多个字符串

Grails 命令对象未绑定(bind)到 'def' 类型

MySQL 日期排序不一致

grails - Grails动态 “inList”