我们有什么方法可以在spring mvc中以编程方式禁用web.xmxl中声明的过滤器和过滤器映射?
我已经看到tomcat api中的StandardContext类公开了添加过滤器和过滤器映射的方法并将其删除。
要求是我们需要在不重新启动服务器的情况下禁用过滤器。 如果有任何方法可以在spring mvc中完成,我可以使用它来公开一个rest api,我们可以根据需要启用和禁用过滤器。
高度赞赏这方面的任何指示。谢谢!
答案 0 :(得分:1)
我认为实现此目的的唯一方法是在过滤器代码中使用某种“禁用标志”以避免其工作,即使不能从过滤器链中取消它。您可以创建一个通过上下文属性共享此标志的控制器,在每个过滤器调用中读取它并决定工作或简单地“传递”。 当然,如果您的过滤器已经是一个无法更改代码的黑盒子,那么这就变得不可能了。