En IIS, puedo "ignorar", "permitir" y "exigir" certificados de cliente.ASP.NET WebApi - ¿Cómo puedo "permitir", pero no "exigir" certificados de cliente?
En ASP.NET WebAPI (versión 4.0 que acabo de lanzar hace un tiempo), parezco tener la capacidad de solo "ignorar" o "requerir".
Por defecto, los certificados de cliente son ignorados ... así que esta declaración siempre produce nulo:
var cert = actionContext.Request.GetClientCertificate();
Pero, si establece este indicador en mi config:
config.ClientCredentialType = HttpClientCredentialType.Certificate;
Entonces consigo la certificado de cliente ... pero ya no tengo la capacidad de permitir el acceso anónimo.
Mi cliente anónimo ahora recibe un error 403
: "El servidor remoto devolvió un error: (403) Prohibido".
¿Puedo hacer una especie de "permitir" como en IIS?
¿Ha intentado utilizar el código del modelo de identidad que se trata aquí? http: //leastprivilege.com/2012/08/20/support-for-x-509-client-certificates-in-thinktecture-identitymodel-for-web-api/... Tal vez este enfoque junto con el uso del El atributo AllowAnonymous puede ayudar? http://www.davidhayden.me/blog/asp.net-mvc-4-allowanonymous-attribute-and-authorize-attribute puede ayudar? –