2012-03-06 5 views
1

Я пытаюсь выяснить, где и как я могу реализовать аутентификацию PKI в существующей реализации Spring Security.Реализация аутентификации PKI в Spring Security

Я изменил конфигурацию своего server.xml в tomcat, чтобы иметь два соединителя для обработки «нормального» имени пользователя и пароля, а затем аутентификацию «PKI». Разница заключается в том, что разъем PKI имеет функцию clientAuth и указывает на выданное доверительное хранилище на машине.

Это позволяет пользователю выбирать, в какой форме они должны аутентифицироваться, они могут щелкнуть обычную аутентификацию имени пользователя и пароля, чтобы перейти на один соединитель, или они могут нажать PKI-аутентификацию, чтобы использовать другую. Моя конфигурация tomcat правильно подсказывает пользователю использовать свой сертификат и ввести свой вывод, в котором я получаю HttpServletRequest с цепочкой сертификатов X509Certificate.

Итак, теперь, когда я настроил эту настройку, как мне настроить Spring Security, чтобы разрешить любую форму аутентификации? Я пытаюсь выяснить, как использовать EDI сертификата в качестве замены имени пользователя/пароля и выполнять проверки безопасности, такие как проверка даты истечения срока действия, проверка того, отменена ли карта и т. Д.

Любые идеи или ссылки очень ценятся, спасибо!

+0

Вы прочитали [документацию] (http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#x509) аутентификацию X.509? –

+0

@ LukeTaylor У меня нет, спасибо, что указал. Похоже, мне нужно добавить еще один фильтр весной, чтобы извлечь цепочку сертификатов? – rwyland

ответ

1

Если я правильно понимаю, у вас уже есть разные коннекторы tomcat на разных портах и ​​странице входа, что позволяет пользователю выбирать разъем. И теперь вы хотите настроить X.509 auth на одном из разъемов.

Drop-in X.509 config from spring docs works - он извлекает CN из сертификата и использует его как имя пользователя.

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

+0

Спасибо, хорошая информация, чтобы знать. – rwyland