2015-05-28 2 views
0

Я пытаюсь проверить подлинность логин веб-приложение с тремя элементами:Web Authentication с сертификацией клиента

  • Userid веб-приложения
  • Пароль веб-приложения Сертификаты
  • клиента, установленные на компьютере пользователя. Я вижу сертификат клиента или машины как длинную строку или ключ, который хранится в реестре Windows.

Я планирую собрать эти три элемента в таблице, поэтому, когда пользователь намерен войти в систему, он отправит эти три элемента на сервер, и они будут проверены.

Например, если пользователь загружает веб-приложение на ПК, который ему не назначен, сервер будет проверять правильность идентификатора и пароля, но клиентский сертификат не принадлежит пользователю и отклоняет вход в систему.

Я еще не установил сертификат клиента или машины на каждом клиентском компьютере или не установил CA в IIS. Но согласно Microsoft, веб-приложение asp.net автоматически отправит сертификат клиента или машины на сервер, и asp.net сможет его получить. Также я нашел еще один program example для этого.

Как это возможно? Я всегда думал, что веб-приложение asp.net не может читать клиентские ресурсы, и если вы хотите читать клиентские ресурсы, то вы должны использовать что-то вроде ActiveX со всеми его осложнениями.

ответ

2

Вы правы, ASP.NET не может читать какие-либо клиентские ресурсы. ASP.NET не имеет ничего общего с получением сертификата клиента с ПК пользователя.

Что вы хотите сказать, чтобы ваш веб-сервер (IIS) запрашивал или требовал сертификат клиента. Сервер добавляет специальный http-заголовок, чтобы сообщить браузеру отправить сертификат клиента. Браузер запрашивает Windows для одного или использует собственный магазин (Firefox). Затем браузер отправляет публичную часть сертификата клиента на сервер.

Ваш ASP.NET может запросить IIS, отправил ли браузер сертификат и доступ к этой информации для целей аутентификации.

+0

Спасибо за ваш ответ. Теперь это яснее. – Delmonte

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