【问题标题】:Forward REMOTE_USER to tomcat via AJP (e.g. for shibboleth)通过 AJP 将 REMOTE_USER 转发到 tomcat(例如,对于 shibboleth)
【发布时间】:2012-11-24 19:17:19
【问题描述】:

今天我遇到了以下问题: 1.我为基本认证配置了apache(需要有效用户);这有效。 2. 我进一步配置了 apache 以将某些路径(在我的例子中是 /idp)的请求转发到 tomcat servlet(shibboleth IDP)。

结果是,shibboleth IdP(ECP 配置文件)告诉我没有设置“REMOTE_USER”(它使用 httpRequest.getRemoteUser() 方法进行检查;它返回 null)。

我尝试了很多类似 SetEnv 和 RewriteRule 的东西,但都没有成功。

解决方案很简单,但很难找到......所以我决定在这里发布它以帮助其他人解决此类问题。

问候 斯蒂芬

【问题讨论】:

    标签: apache authentication tomcat ajp shibboleth


    【解决方案1】:

    好的,这是我的解决方案。我发现需要将 tomcat 配置为信任/接受 apache2 完成的身份验证...

    为此,您必须编辑 tomcat 的 server.xml(应位于 /etc/tomcat6/server.xml 或类似位置)并将 tomcatAuthentication="false" 添加到您的 <Connector>-Tag 以进行 AJP 连接。我的连接器标签现在看起来像这样:

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
       tomcatAuthentication="false" /> 
    

    现在你只需要重启tomcat...完成了。

    希望这会有所帮助! ;-)

    斯蒂芬

    解释:

    "tomcatAuthentication" -- "如果设置为true,认证将在Tomcat中完成。否则,认证的主体将从本地网络服务器传播并用于Tomcat中的授权。默认值为true。" H2>

    引用自:http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 1970-01-01
      • 2016-07-04
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 2016-09-01
      相关资源
      最近更新 更多