【发布时间】:2014-04-24 23:51:08
【问题描述】:
我有一个场景,如果用户给我的 Grails 应用程序某种类型的输入,我想动态添加一个 javax.servlet.Filter impl (MyCustomerFilter) 以便所有后续对服务器的请求都通过这个过滤器.
换句话说,当 Grails 应用程序启动时,MyCustomFilter 没有被激活并且不在过滤器链中。但是当用户做某事时(比如说让 AJAX 回调到服务器端控制器),我想将 MyCustomFilter 添加到过滤器链并激活它(对于所有未来/后续请求)。
这可能吗?如果是这样,怎么做?如果不是,为什么?
【问题讨论】:
-
为什么不将其添加到链中,但允许在过滤器本身内切换运行时实际过滤?
-
谢谢@JoshuaMoore (+1) - 我想我不太关注你。您是说您可以激活/停用链上的过滤器(以编程方式)。如果是这样,我如何指定
MyCustomFilter在链上 - 但在启动时停用,然后,我如何在以后以编程方式激活它? -
见 Graeme 的回答,这就是我在评论中所描述的。
标签: java servlets grails runtime servlet-filters