Servlets 在会话开始时动态添加/删除servlet筛选器

Servlets 在会话开始时动态添加/删除servlet筛选器,servlets,servlet-filters,icepush,Servlets,Servlet Filters,Icepush,我的JSF应用程序使用Active directory身份验证模块,即JCIFS。 但是JCIFS过滤器阻止了IE8的ICEpush相关功能。 我想在身份验证之后删除JCIFS过滤器(如果可能的话)。 所以它是基于会话的。我可以在会话统计时应用筛选器吗?身份验证完成后,我可以将其从当前会话中删除吗?因此,它不会在当前会话之后过滤任何请求 谢谢。您无法动态添加或删除筛选器,但您可以编写一个新的筛选器来扩展JCIFS one,如果会话经过身份验证,则跳过其特殊处理(即立即调用chain.doFilt

我的JSF应用程序使用Active directory身份验证模块,即JCIFS。 但是JCIFS过滤器阻止了IE8的ICEpush相关功能。 我想在身份验证之后删除JCIFS过滤器(如果可能的话)。 所以它是基于会话的。我可以在会话统计时应用筛选器吗?身份验证完成后,我可以将其从当前会话中删除吗?因此,它不会在当前会话之后过滤任何请求


谢谢。

您无法动态添加或删除筛选器,但您可以编写一个新的筛选器来扩展JCIFS one,如果会话经过身份验证,则跳过其特殊处理(即立即调用chain.doFilter)。

这不是答案本身的一部分,但可以澄清的是:Servlet API不支持动态添加/删除过滤器(Servlet 3.x启动期间除外),但即使支持,也不会帮助您处理用例,因为过滤器是全局的(换句话说,它们不绑定到单个会话)。删除筛选器将删除所有会话(无论是否经过身份验证)的筛选器。