Owin覆盖IIS客户端证书映射规则上的身份验证

时间:2020-05-06 14:31:45

标签: iis owin

我已经配置了一个WebAPI网站,以将HTTPS与IIS客户端证书映射(ManyToOneMapping)一起用于客户端证书认证。我禁用了IIS上的所有身份验证类型。我在IIS上进行了多对一配置。

但是它可以与添加到服务器的受信任存储区的任何其他证书一起使用。我发现那是因为欧文。我正在使用owin(承载者身份验证)来管理令牌等。但是我认为owin会覆盖iis的多对一配置。你知道如何禁用它吗?我需要基于令牌的身份验证,因此无法将其删除。

1 个答案:

答案 0 :(得分:0)

使用Owin自托管WebAPI和在IIS中托管WebAPI是两种不同的托管模型。这意味着Owin的所有管道逻辑都不再有效。除非我们在自托管程序中使用Owin托管,否则这是一个使用Owin自托管WebAPI的简单示例。
https://docs.microsoft.com/en-us/aspnet/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api
如果我们要通过OWIN中间件(请求必须通过的管道)来验证客户端证书,则应添加客户端证书的自定义验证器,并使用appBuilder.Use<T>方法对其进行应用。

appBuilder.Use<ClientCertificateAuthMiddleware>(new ClientCertificateAuthenticationOptions(), clientCertificateValidator);

这里是如何向OWIN自托管WebApi添加验证客户端证书的示例。
https://dotnetcodr.com/2016/02/08/using-client-certificates-in-net-part-9-working-with-client-certificates-in-owinkatana-iii/
随时让我知道是否有什么可以帮助您的。

相关问题