2013-07-10 3 views
0

Я пытаюсь интегрировать аутентификацию Shibboleth со старым приложением Struts-1, которое унаследовало обслуживание, но я не могу понять, как использовать атрибуты Shibboleth.Получение атрибутов Shibboleth через Struts-1

Это то, что я пробовал:

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?

+0

бы они не будут в сессии? –

+0

@SotiriosDelimanolis Я также пробовал зацикливание и печать имен атрибутов из 'request.getSession(). GetAttributeNames()' и не смог найти нужные мне атрибуты. – nmc

+0

В действии, которое вы опубликовали, вы еще не аутентифицированы? Рамки безопасности не будут хранить ничего, пока пользователь не будет аутентифицирован. –

ответ

0

Оказывается, в моем случае это была проблема с конфигурацией на стороне сервера.

После выполнения инструкции здесь: https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPJavaInstall, я был в состоянии получить атрибуты просто:

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

Смежные вопросы