Spring-Security с X509? - PullRequest
       11

Spring-Security с X509?

5 голосов
/ 08 июня 2010

Я новичок в Spring-Security в целом и немного растерялся.

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

Вопрос в том, как мне интегрировать Spring в это, чтобы получить их роли, используя сертификаты X509? Я видел это :

<http>
 ...
    <x509 subject-principal-regex="CN=(.*?)," user-service-ref="userService"/>
 ...
</http>

Но я не понимаю, как это работает. Требуется ли что-нибудь для пароля? Или субъекту все, что ему нужно?

Ответы [ 2 ]

1 голос
/ 08 июня 2010

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

Браузер и ваш контейнер сервлетов будут обрабатывать рукопожатие SSL после того, как пользователь введет пароль, а затем, если все хорошо, вы можете использовать реализацию UserDetailsService, чтобы заполнить Принцип любыми ролями, которые имеет пользователь.

1 голос
/ 08 июня 2010

Но я не понимаю, как это работает.Требуется ли что-нибудь для пароля?Или субъекту все, что ему нужно?

Я думаю, что это все, что ему нужно.Я полагаю, что модель заключается в том, что протокол TLS определяет, что пользователь / клиент "владеет" сертификатом, используя методы шифрования с открытым ключом, которые сводятся к тому, что пользователь / клиент знает личный ключ для сертификата.Предполагается, что только пользователь будет знать свой собственный закрытый ключ, и поэтому тот, кто / что может доказать знание ключа , является пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...