shibboleth idp获取用户属性

时间:2016-01-30 09:05:16

标签: java shibboleth

我正在为shibboleth idp制作一个插件(在JAVA中)。在插件中,如果用户通过身份验证,我需要获取用户的属性。我使用Filter(pattern / profile / *)来处理请求,但是没有任何用户属性存储在请求的属性或标题中,如果用户通过身份验证,我怎样才能在Java代码中检索用户的属性?

1 个答案:

答案 0 :(得分:0)

您必须在应用程序服务器中打开 AJP端口。属性将仅发送到启用AJP的页面。 (您可能希望将attributePrefix="AJP_"添加到您的配置文件中。)

您需要向代理服务器添加以下内容(考虑到AJP端口在8009上打开)

ProxyPass / profile / * ajp:// localhost:8009 / profile / *

即使这样做,shibboleth参数也不会直接显示在parameters.keySet()下。但是如果你做parameters.get(key)那么它将返回shib发送的一些值。

以上行为可能因服务器而异;即,您可能需要parameters.get("AJP_"+key)获取值。附:检查标题和请求对象。