使Tomcat 9忽略Http Basic信息

时间:2018-03-02 14:29:35

标签: tomcat iis isapi

我有一个IIS + Tomcat的设置(在它们之间使用Tomcat连接器)。在本地访问时,tomcat站点完全不受保护(http://localhost:8080),但IIS需要基本身份验证。设置工作正常,但Tomcat看到http基本授权标题时似乎感到困惑。

一个简单的例子:

我想要实现的是IIS应该处理安全性,而Tomcat应该忽略将从IIS传递到Tomcat的Authorization标头。有什么想法我能做到吗?

1 个答案:

答案 0 :(得分:0)

好的,现在我有一个完全可行的解决方案,IIS处理所有身份验证。 IIS中的“根”站点不受保护,但通过连接器发送到Tomcat的所有内容都需要身份验证。您需要做的就是保护在Tomcat连接器设置期间创建的虚拟jakarta目录,例如:

  <location path="jakarta">
    <system.web>
      <authorization>
        <deny users="?" /> <!-- deny anonymous access -->
      </authorization>
    </system.web>
  </location>

如果要根据IIS设置的主体在Tomcat中执行授权,请查看Tomcats server.xml中Connector元素上的tomcatAuthentication和tomcatAuthorization属性,例如: