Tomcat是否能够在一个应用程序(BASIC和CLIENT-CERT)上使用混合身份验证?

时间:2015-12-07 20:37:37

标签: java tomcat ssl basic-authentication client-certificates

是否可以使用不同的auth方法使用tomcat(v。> 6)保护Web应用程序的资源:

  • BASIC
  • CLIENT-CERT

我有一个webapp,可以使用BASIC Auth保护一些资源。基本示例:

  • 对myApp /用户界面/ *

但对于某些作为服务公开的资源,我想使用客户端证书身份验证。 Client-Cert的示例:

  • myApp / api / *

到目前为止,我只发现了在web.xml中每个web-app执行此操作的可能性,但在资源级别上没有。

2 个答案:

答案 0 :(得分:0)

没有办法配置Tomcat来开箱即用。第三方认证库可能是可能的。

答案 1 :(得分:0)

我帮助https://wiki.apache.org/tomcat/SSLWithFORMFallback结合此tomcat valve来允许SSL客户端证书和表单以及基本后备身份验证。我还使用调整后的身份验证界面为Tomcat 8调整了它:

...
public boolean authenticate(Request request, HttpServletResponse response) throws IOException {
    LoginConfig config = context.getLoginConfig();
...

祝你好运