【问题标题】:Dynamically add/remove servlet filters at session start在会话开始时动态添加/删除 servlet 过滤器
【发布时间】:2013-07-18 14:32:36
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: servlets servlet-filters icepush


    【解决方案1】:

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

    【讨论】:

    • 这本身不是答案的一部分,但可以澄清:Servlet API 不支持动态添加/删除过滤器(在使用 Servlet 3.x 启动期间除外),但即使它是,它对您的用例没有帮助,因为过滤器是全局的(换句话说,它们不绑定到单个会话)。删除过滤器将删除所有会话,无论是否经过身份验证。
    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 2018-10-15
    • 2015-05-22
    • 1970-01-01
    • 2017-02-21
    相关资源
    最近更新 更多