我如何添加CAC用户名到我的网页和日志?

我有一个WIN 2008服务器IIS7和用CAC卡login的用户。 我想在login时将用户的CAC卡用户名添加到网页中。 而且我也想从CAC卡login用户信息到我的networking服务器,这样我就可以看到谁在访问我的网站。

如果启用了客户端证书(网站> SSL设置>客户端证书>接受),当用户使用其智能卡进行身份validation时,证书作为请求对象的一部分存在。 您可以使用Subject属性ClientCertificate检索它。

if (Request.ClientCertificate.IsPresent) { X509Certificate2 clientCertificate = new X509Certificate2(Request.ClientCertificate.Certificate); Debug.WriteLine("Subject: {0}", clientCertificate.Subject); Debug.WriteLine("Issuer: {0}", clientCertificate.Issuer); Debug.WriteLine("Valid Until: {0}", clientCertificate.NotAfter.ToString("yyyy-MM-dd HH:mm")); Debug.WriteLine("Valid From: {0}", clientCertificate.NotBefore.ToString("yyyy-MM-dd HH:mm")); Debug.WriteLine("Serial Number: {0}", clientCertificate.SerialNumber); Debug.WriteLine("Thumbprint: {0}", clientCertificate.Thumbprint); Debug.WriteLine("Public Key: {0}", clientCertificate.GetPublicKeyString()); } 

您希望IIS7需要SSL客户端证书,这就是为什么用户需要通过他们的读卡软件向Windows提供证书的原因,浏览器将证书从卡上传递到IIS7。

  1. 打开IISpipe理器并导航到您想要pipe理的级别。
  2. 在“function视图”中,双击“SSL设置”。
  3. 确保您位于网站,应用程序或目录级别
  4. 在SSL设置页面上,select需要SSL。
  5. 在“SSL设置”页面的“客户端证书”区域中,select“要求客户端证书”。

这些是来自technet的简要说明。

这与Gregs的答案应该足以让你开始。

我也会通过你的法律小组来运行这个程序,看看你是否可以login连接,你可能需要同意在页面上监控序言。