2015-07-01 4 views
0

Все.Не удается получить cn из ответа политики OpenAM

Я пытаюсь настроить OpenAM, J2EEAgent и OpenIG. Я хочу получить cn, когда получаю ответ от политики OpenAM. поэтому я config com.sun.identity.agents.config.response.attribute.fetch.mode = HTTP_HEADER. Однако я не могу получить cn в ответе на политику.

У меня есть два вопроса.

1, Как настроить, чтобы получить cn в ответе политики?

2, я ищу uid (OpenIG) из cn, используя SqlAttributesFilter , когда OpenIG получит ответ на политику. Я сделал config.json из OpenIG. Пожалуйста, проверь это.

{ 
    "_comment" : "Sample OpenIG config for form login.", 
    "heap":[ 
      { 
       "name":"DispatchHandler", 
       "type":"DispatchHandler", 
       "config":{ 
        "bindings":[ 
         { 
         "condition": "${matches(exchange.request.uri.path,'^/openig') != null}", 
          "handler":"LoginChain" 
         }, 
         { 
          "handler":"OutgoingChain" 
         } 
        ], 
        "baseURI":"http://test.co.jp:7070/" 
       } 
      }, 
      { 
       "name":"LoginChain", 
       "type":"Chain", 
       "config":{ 
        "filters":["SqlAttributesFilter"], 
        "handler":"LoginRedirectHandler" 
       } 
      }, 
      { 
        "name": "SqlAttributesFilter", 
        "type": "SqlAttributesFilter", 
        "config": { 
         "dataSource": "java:comp/env/jdbc/postgresql", 
         "preparedStatement": 
          "SELECT uid 
            FROM user_table WHERE cn = ?;", 
         "parameters": [ 
          "${exchange.request.headers['cn'][0]}" 
         ], 
         "target" : "${exchange.credentials}" 
        } 
      }, 
      { 
       "name":"LoginRedirectHandler", 
       "type":"StaticResponseHandler", 
       "config":{ 
        "status":302, 
        "reason":"Found", 
        "headers":{ 
         "Location":[ 
          "http://test.co.jp:5050/testsp/index.html?j_site=${exchange.credentials.site}&j_uid=${exchange.credentials.uid}" 
         ], 
         "Cache-Control":["no-cache"], 
         "Pragma":["no-cache"] 

        } 
       } 
      }, 
      { 
       "name":"OutgoingChain", 
       "type":"Chain", 
       "config":{ 
        "filters":[ 
         "CaptureFilter" 
        ], 
        "handler":"ClientHandler" 
       } 
      }, 
      { 
       "name":"ClientHandler", 
       "type":"ClientHandler", 
       "config":{ 
       } 
      }, 
      { 
       "name":"CaptureFilter", 
       "type":"CaptureFilter", 
       "config":{ 
        "captureEntity":true, 
        "file":"/home/test/.openig/config/gateway.log" 
       } 
      }, 
      { 
       "name":"LogSink", 
       "comment":"Default sink for logging information.", 
       "type":"ConsoleLogSink", 
       "config":{ 
        "level":"DEBUG" 
       } 
      } 
    ], 
    "handler": "DispatchHandler" 
} 

Прошу помочь. Относительно.

ответ

0

1) путем изменения политики, которая предположительно соответствует вашему защищенному ресурсу, и добавления «cn» в список атрибутов.

В качестве альтернативы вы можете просто изменить конфигурацию своего агента, поэтому вместо использования атрибутов ответа вы настраиваете сопоставление атрибутов для атрибутов профиля.

+0

Спасибо, Питер. Я гвоздь! –

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

  • Нет связанных вопросов^_^