Как аутентифицировать пользователя с помощью набора «Требуется смарт-карта для интерактивного входа»? - PullRequest
1 голос
/ 20 мая 2009

http://support.microsoft.com/kb/892424

Когда в Active Directory установлена ​​«смарт-карта, необходимая для интерактивного входа в систему», генерируется случайный пароль Как использовать смарт-карту для аутентификации пользователя по LDAP из веб-приложения?

Как узнать, кто пользователь? Есть ли способ получить доступ к сертификату? Могу ли я получить его с сессии?

1 Ответ

1 голос
/ 20 мая 2009

HTTPS и SSL взаимная аутентификация должна использоваться для этого, потому что клиент уже имеет по крайней мере корпоративный подписанный CA сертификат на своей смарт-карте.

Когда вместо взаимной аутентификации сервера используется взаимная аутентификация SSL, сертификат клиента также проверяется сервером, а не только сертификатом сервера клиентом (что является более распространенной настройкой, например, для сайтов электронной торговли с поддержкой HTTPS). И вы по-прежнему получаете зашифрованное соединение в качестве бонуса.

См. Например Конфигурация SSL Tomcat 6.0. HOW-TO . Ключевым моментом является наличие сертификата CA в доверенном хранилище и атрибуте clientAuth, равном true.

Для входа в CLIENT-CERT в web.xml соответствующего веб-приложения также должен быть указан метод входа в систему:

...
<login-config>
  <auth-method>CLIENT-CERT</auth-method>
  <realm-name>Foo * Bar * Realm</realm-name>
</login-config>
...

Атрибут SubjectDN из сертификата клиента используется для идентификации пользователя. LDAP (или ActiveDirectory) все еще может использоваться для авторизации - например, проверяя, принадлежит ли пользователь группе.

Может быть трудно установить все это в первый раз. Чтобы ознакомиться со всеми концепциями, я рекомендую следующий подход:

  • Использовать BASIC-метод авторизации с именами пользователей и паролями, хранящимися в файле
  • Использовать простую авторизацию на основе ролей
  • Включить CLIENT-CERT метод аутентификации + простая авторизация на основе ролей
  • Включение LDAP для проверки ролей
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...