在 IIS 7.5 中使用客户端证书时出现 401

在 IIS 7.5 中使用客户端证书时出现 401

我正在尝试配置一个托管在 IIS 7.5 下的网站,以便对特定位置的请求需要客户端证书身份验证。使用我当前的设置,当我使用客户端证书访问该位置时,仍然会收到“401 - 未授权:由于凭据无效,访问被拒绝”的错误信息。

以下是设置内容的 web.config 片段:

<location path="MyWebService.asmx">
    <system.webServer>
      <security>
        <access sslFlags="Ssl, SslNegotiateCert"/>
        <authentication>
          <windowsAuthentication enabled="false"/>
          <anonymousAuthentication enabled="false"/>
          <digestAuthentication enabled="false"/>
          <basicAuthentication enabled="false"/>
          <iisClientCertificateMappingAuthentication enabled="true" oneToOneCertificateMappingsEnabled="true">
            <oneToOneMappings>
              <add enabled="true" certificate="MIICFDCCAYGgAwIBAgIQ+I0z6z8OWqpBIJt2lJHi6jAJBgUrDgMCHQUAMCQxIjAgBgNVBAMTGURldiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAxMjI5MjI1ODE0WhcNMzkxMjMxMjM1OTU5WjAaMRgwFgYDVQQDEw9kZXYgY2xpZW50IGNlcnQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANJi10hI+Zt0OuNr6eduiUe6WwPtyMxh+hZtr/7eY3YezeJHC95Z+NqJCAW0n+ODHOsbkd3DuyK1YV+nKzyeGAJBDSFNdaMSnMtR6hQG47xKgtUphPFBKe64XXTG+ueQHkzOHmGuyHHD1fSli62i2V+NMG1SQqW9ed8NBN+lmqWZAgMBAAGjWTBXMFUGA1UdAQROMEyAENGUhUP+dENeJJ1nw3gR0NahJjAkMSIwIAYDVQQDExlEZXYgQ2VydGlmaWNhdGUgQXV0aG9yaXR5ghB6CLh2g6i5ikrpVODj8CpBMAkGBSsOAwIdBQADgYEAwwHjpVNWddgEY17i1kyG4gKxSTq0F3CMf1AdWVRUbNvJc+O68vcRaWEBZDo99MESIUjmNhjXxk4LDuvV1buPpwQmPbhb6mkm0BNIISapVP/cK0Htu4bbjYAraT6JP5Km5qZCc0iHZQJZuch7Uy6G9kXQXaweJMiHL06+GHx355Y="/>
            </oneToOneMappings>
          </iisClientCertificateMappingAuthentication>
        </authentication>
      </security>
    </system.webServer>
</location>

我在 Web 浏览器中使用的客户端证书与我在 web.config 中放置的证书相匹配。我在这里做错了什么?

答案1

当我在应用程序配置中添加映​​射时,我遇到了同样的错误。我看到了这篇文章http://blogs.msdn.com/b/rakkimk/archive/2009/07/08/iis7-configuring-iisclientcertificatemappingauthentication.aspx并将我的映射条目移动到网站级别,它们被下面的应用程序继承,并且我只在应用程序级别启用了 IISClientCertificateAuthentication(在网站级别禁用)并且它开始工作。

尝试将映射移至网站级别的配置,并在应用程序级别启用客户端证书身份验证。祝你好运,新年快乐!

答案2

该错误意味着您用于访问该站点的凭据未被授予访问该站点的权限。

需要更多信息,例如此站点的用途以及用户将使用什么凭据登录。目前,即使注意到表单身份验证,也不允许任何身份验证。与上面的先前回复一样,将身份验证访问/拒绝列表移至服务器级别。

相关内容