我有一个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。
这些是来自technet的简要说明。
这与Gregs的答案应该足以让你开始。
我也会通过你的法律小组来运行这个程序,看看你是否可以login连接,你可能需要同意在页面上监控序言。