gpt4 book ai didi

c# - 如何根据证书对用户进行身份验证?

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:57 25 4
gpt4 key购买 nike

在证书提供商 StartSSL 上,当您注册时,您需要输入您的电子邮件和密码。它们会生成一个证书 (.pfx),您需要将其下载并安装到您的浏览器中。

评论中指出这是一个客户端证书。

因此,当您单击登录时,例如在 Chrome 中,会弹出一个窗口并询问您使用哪个证书。我可以拥有多个客户端证书,并根据我的选择登录到不同的帐户。他们警告说,如果您丢失了证书,那么除非他们重新生成新证书,否则您将无法登录该站点。

我想使用 C# 执行此操作 - 我想生成一个客户端证书,然后使用它以管理员身份登录而无需输入密码。

这是什么机制?如何生成证书并使用它们登录到我的站点?我想在 MVC C# 站点上执行此操作。我不介意我是否需要生成自签名证书,它仅供我自己使用。至少它摆脱了密码形式和暴力攻击。

最佳答案

这很简单,证书要求是 SSL 握手的一个选项。

首先,您需要转到 IIS 上的 SSL 选项并选中接受和要求 证书的选项。这足以让浏览器自动弹出证书选择窗口,并且通信由服务器和客户端证书相互保护。

https://technet.microsoft.com/pl-pl/library/cc753983%28v=ws.10%29.aspx

然后是请求管道。您要么需要一个 httpmodule,要么只为全局应用程序的 AuthenticateRequest 事件提供一个处理程序。在那里,您引用 Request.ClientCertificate

https://msdn.microsoft.com/en-us/library/ms524668%28v=vs.90%29.aspx

您读取证书的独特属性,例如指纹,并使用本地数据库查找与证书对应的用户记录,并相应地为请求生命周期设置 Principal

关于c# - 如何根据证书对用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29399052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com