Проверка подлинности сертификата клиента для двух сайтов - PullRequest
0 голосов
/ 25 сентября 2018

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

Примечание. В редакторе конфигурации я сделал эту конфигурацию в файле web.configфайлы отдельных веб-сайтов, а не в ApplicationHost.Config

. Вот так выглядит файл конфигурации для обоих веб-сайтов:

    <system.webServer>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
        <security>
            <authentication>
                <windowsAuthentication enabled="false" />
                <anonymousAuthentication enabled="true" />
                <iisClientCertificateMappingAuthentication enabled="true" manyToOneCertificateMappingsEnabled="false">
                    <oneToOneMappings>
                        <add userName="XXXXXX" password="[enc:AesProvider:XXXXXXXX:enc]" certificate="XXXX" />
                    </oneToOneMappings>
                </iisClientCertificateMappingAuthentication>
            </authentication>
        </security>
  </system.webServer>
 <location path="web.config">
  <system.webServer>
        <security>
            <authentication>
                <iisClientCertificateMappingAuthentication enabled="true" oneToOneCertificateMappingsEnabled="true" defaultLogonDomain="XXXX">
                    <oneToOneMappings>
                        <add userName="XXX" password="[enc:AesProvider:XXXXX:enc]" certificate="XXXX" />
                    </oneToOneMappings>
                </iisClientCertificateMappingAuthentication>
                <anonymousAuthentication enabled="true" />
            </authentication>
        </security>
  </system.webServer>

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

...