通过Struts-1获取Shibboleth属性

时间:2013-07-10 17:52:13

标签: java struts httprequest struts-1 shibboleth

我正在尝试将Shibboleth身份验证与我继承维护的旧Struts-1应用程序集成,但我无法弄清楚如何使用Shibboleth属性。

这就是我的尝试:

public final class AuthenticateAction extends MappingDispatchAction {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {


        Enumeration attributeNames = request.getAttributeNames();
        while (attributeNames.hasMoreElements()) {
            String attributeNm = (String) attributeNames.nextElement();
            System.out.println("DEBUG: " + attributeNm);
        }

        String eppn = (String) request.getAttribute("eppn"); // <-- Null 

在循环遍历上面代码中的属性名称时,没有打印出我期望的Shibboleth属性。

如何访问Shibboleth属性?

1 个答案:

答案 0 :(得分:0)

事实证明,在我的情况下,这是服务器端配置的问题。

按照此处的说明操作后:https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPJavaInstall,我能够将这些属性简单地理解为:

String eppn = (String) request.getAttribute("eppn"); // <-- no longer null