【问题标题】:ASP.NET Core TLS client certificate authentication only for a specific API location仅针对特定 API 位置的 ASP.NET Core TLS 客户端证书身份验证
【发布时间】:2022-05-26 03:26:59
【问题描述】:

是否可以在 ASP.NET Core(独立)中仅针对特定位置(API 或页面)使用客户端证书激活身份验证? 使用 IIS 可以为文件夹定义配置文件。

<configuration>   
  <system.webServer>
    <security>
      <access sslFlags="Ssl,SslNegotiateCert,SslRequireCert" />
    </security>   
  </system.webServer> 
</configuration>

我可以用类似的方式配置 ASP.Net Core Kestrel 服务器吗?

【问题讨论】:

  • 你分享的sn-p有什么相关性?它来自IIS吗?如果是这样,它如何仅适用于特定的 API 或页面?
  • 无论如何,如果我正在阅读this Microsoft page 对,那么在同一个应用程序中是不可能的。 (“我可以将我的应用程序配置为仅在某些路径上需要证书吗?”)
  • 是的,这是 IIS 配置的示例。我想知道如何在没有 IIS 的情况下使用 ASP.NET Core 做到这一点。
  • 您分享的 sn-p 似乎没有展示 per-API 或 per-path 配置。
  • 谢谢!当用户单击“使用 PKI 卡进行身份验证”按钮然后使用“客户端证书身份验证”调用 API 时,我必须进行智能卡身份验证。这对 IIS 非常有效。我必须考虑另一种使用 ASP.NET Core 的策略。

标签: asp.net-core


【解决方案1】:

Steeltoe provides a client certificate auth library 基于 Microsoft 的客户端证书身份验证,但允许针对每个端点应用授权策略。

它是使用 Cloud Foundry 特有的一些附加功能构建的(包括基于证书内数据的预构建授权策略),但您可能会忽略这些部分或构建自己的策略。有一些示例应用程序 in this repo 应该有助于演示其工作原理

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多