我有一个用于保护RESTful服务的用例,我不确定它是否可以实现 - 实质上我希望同时设置Basic和Digest身份验证。在链中设置两个过滤器应该相对容易,但我不确定如何处理入口点 - 据我所知,这两种类型的身份验证有2个入口点,但应该如何处理如果Authorization标头附带Basic或Digest认证逻辑,则可能的工作是调用正确的入口点。
我知道在Spring 3.1中你可以拥有多个elemenet,但我不认为在这种情况下可以提供帮助,因为这两个身份验证选项应该在同一个映射上得到支持,并且映射似乎是唯一的方法这两个要素可以区分开来。
我也知道这个问题: Spring Security 3.x: How can I enable both BASIC and DIGEST authentication? 但这似乎并没有解决多个切入点的问题。
我有什么东西可以忽略,或者有些人没有完全理解? 任何帮助表示赞赏。 谢谢。 尤金。
答案 0 :(得分:1)
我已经解决了这个问题 - 我最终做的是使用摘要式身份验证(过滤器和入口点)并在链中的摘要过滤器之后添加基本过滤器。这样,对于具有身份验证凭据(基本或摘要)的请求,正确的过滤器会选择它。对于匿名请求,将开始摘要入口点,并将提示客户端提供摘要凭据。