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

问题描述 投票:0回答:1

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

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

iis owin
1个回答
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/请随时告诉我是否有什么我可以帮助的。

© www.soinside.com 2019 - 2024. All rights reserved.