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

Все.

Я пытаюсь настроить OpenAM, J2EEAgent и OpenIG. Я хочу получить cn, когда получу ответ политики OpenAM. поэтому я конфигурирую 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"
}

Пожалуйста, помогите мне. Внимание.


person Kensuke Sato    schedule 01.07.2015    source источник


Ответы (1)


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

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

person Peter Major    schedule 11.07.2015
comment
Спасибо, Питер. Я гвоздь это! - person Kensuke Sato; 13.07.2015