使Tomcat 9忽略Http Basic信息

问题描述 投票:0回答:1

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

一个简单的例子:

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

tomcat iis isapi
1个回答
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属性,例如:

© www.soinside.com 2019 - 2024. All rights reserved.