是否有任何MVC特定方式要求特定操作或 Controller 的SSL客户端证书,即RequireHttps或Authorize的工作方式,而ClientCerts却如此?

我知道在站点上创建一个空文件夹,一个与该文件夹同名的Controller然后在web.config中设置规则的技巧,但是我不想这样做一个MVC解决方案(如果有)。

(web.config技巧的示例:)

  <location path="/ClientCert">
    <system.webServer>
      <security>
        <access sslFlags="Ssl,SslRequireCert" />
      </security>
    </system.webServer>
  </location>

我很好奇是否有可以封装在ActionFilter和/或HttpModule中的解决方案?

最佳答案

我不相信在连接协商期间,将在IIS或HTTP.sys中处理和映射客户端证书,这比MVC低得多。如果该客户端证书用于与SSL/TLS的相互身份验证,则仅用于建立HTTPS session 和连接就需要该客户端证书。

这一切都发生在MVC或任何与此相关的代码有机会运行之前。这发生在HTTP.sys的内核中。

关于asp.net - 在Asp.Net MVC中启用特定 Controller 或操作所需的SSL客户端证书,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27945921/

10-08 22:51