2010-03-19 58 views

回答

1

我不能直接帮你,但我的一些经验可能会有用。我有一个应用程序使用修改后的jcifs ntlm过滤器。 (注意现有的过滤器实际上并不安全!)我的一个修改是,一旦用户通过身份验证,结果就会存储在会话中(而不是专门存储在缓存中)。

过滤器会在执行整个ntlm协议前检查会话中是否存在验证结果。如果有,那么它不需要打扰。

你唯一需要注意的就是HTTP Posts。无论服务器是否要求,Internet Explorer都要求邮政通过整个身份验证过程。所以你必须在你的过滤器中注意这一点。

+0

@John谢谢你指出了这一点。我仍然在寻找正确的方法来做到这一点,并直接缓存在NLTMProcessingFilter类,而不是在用户会话 – cometta 2010-03-21 08:54:28

+0

我没有强烈的意见认为信息应该存储在会话中,但它绝对看起来更容易。在过滤器类中有一个'Map '可以存储每个会话的认证用户名(或其他详细信息),这很容易。如果会话的用户名存在,那么它可以避免重复认证(除非是发布请求!)。 – John 2010-03-21 11:29:23