10

我已经成功在 web.xml (java-webcontainer) 中设置了 FORM-authentication。

使用 FORM-Authentication 时,我没有找到在客户端的 restful-uri 的 get-request 中发送用户名/密码的方法。所以我必须只对 restful-uri 使用 BASIC-Authentication。

所以我有这个问题:

如何设置基于表单的身份验证和基本身份验证?基本身份验证应该只为 restful-uri 启用。

4

2 回答 2

12

我也面临着类似的问题,我意识到如果您使用的是 Wildfly,那么可以使用 web.xml 配置多种机制:-

    <auth-method>BASIC?silent=true,FORM</auth-method>

将首先尝试使用此静默基本身份验证,这是仅在存在授权标头时才生效的基本身份验证。如果不存在这样的标头,则将使用表单身份验证。

也许回复太晚了,但我刚刚更新了这个,以防有人觉得这很有用:P

于 2015-08-11T18:59:52.390 回答
7

这里有一段时间没有响应,所以我自己做了一个快速的 servlet 复习。Servlet 规范确实只允许<login-config>每个 Web 应用程序使用一个元素,因此无法为 REST API 提供一个具有 BASIC 身份验证的入口点,而另一个具有用于 UI 的基于 FORM 身份验证的入口点。唯一的选择是将它们构建为两个可独立部署的应用程序。为避免代码重复,让 UI 应用程序以与第三方客户端相同的方式与 REST API 对话可能是一个好主意。

于 2012-08-08T13:38:16.217 回答