Shibboleth标头属性未发送到所有页面

时间:2015-08-07 19:56:32

标签: shibboleth

我在服务提供商的Apache中有以下配置:

<Location /login >
    AuthType Shibboleth
    ShibRequireSession On
    ShibUseHeaders On
    require valid-user
</Location>

验证后,我尝试访问另一个页面中的标题,但它们不存在。 看起来Apache中需要额外的配置。

如何进行配置,以便Shibboleth在/ login时触发,而其他页面可以访问标题?

1 个答案:

答案 0 :(得分:0)

假设您正在使用java来获取shibboleth参数;

  • Shibboleth属性只能由AJP获取,所以你必须拥有 在您的服务器中启用了AJP。
  • 在shibboleth SP的shibboleth2.xml文件的ApplicationDefaults标记中添加此参数 - attributePrefix="AJP_",这会将参数作为AJP发送。
  • 在apache中启用mod_proxy_ajp模块并通过

    传递ajp

    ProxyPass /my-application/login ajp://localhost:8009/my-application/login

  • 即使这样做,shibboleth参数也不会直接显示在parameters.keySet()下。但是如果你做parameters.get(key)那么它将返回shib发送的一些值。
  • 以上行为可能因服务器而异;即,您可能需要parameters.get("AJP_"+key)获取值。附:签入headerrequest对象。