1

我有一个用于保护 RESTful 服务的用例,但我不确定它是否可以实现 - 基本上我希望同时设置 Basic 和 Digest 身份验证。在链中设置两个过滤器应该相对容易,但我不确定如何处理入口点 - 据我所知,两种类型的身份验证有 2 个入口点,但它应该的方式如果授权标头带有基本或摘要身份验证逻辑,则可能的工作是调用正确的入口点。

我知道在 Spring 3.1 中你可以有多个元素,但我认为这在这种情况下没有帮助,因为这两个身份验证选项应该在同一个映射上得到支持,并且映射似乎是 2元素可以区分。

我也知道这个问题: Spring Security 3.x: How can I enable BASIC and DIGEST authentication? 但这似乎并没有解决多个入口点的问题。

有没有我忽略的东西,或者没有完全理解的东西?任何帮助表示赞赏。谢谢。欧根。

4

1 回答 1

1

我已经解决了这个问题 - 我最终做的是使用摘要身份验证(过滤器和入口点)并在链中的摘要过滤器之后添加基本过滤器。这样,对于具有身份验证凭据(基本或摘要)的请求,正确的过滤器会选择它。对于匿名请求,摘要入口点将开始,并提示客户端输入摘要凭据。

于 2011-11-22T15:35:44.513 回答