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

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

我有一台 Win2008 服务器 IIS7 和使用 CAC 卡登录的用户。我想在用户登录时将用户的 CAC 卡用户名添加到网页中。我还想将 CAC 卡中的用户信息记录到我的 Web 服务器上,这样我就可以看到谁在访问我的网站。

答案1

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

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());
}

答案2

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

  1. 打开 IIS 管理器并导航到您想要管理的级别。
  2. 在功能视图中,双击 SSL 设置。
  3. 确保您处于站点、应用程序或目录级别
  4. 在 SSL 设置页面上,选择需要 SSL。
  5. 在“SSL 设置”页面的“客户端证书”区域中选择:要求要求客户端证书。

以下是来自技术网

这与 Gregs 的回答相结合应该足以帮助您入门。

我还会与您的法律团队一起运行此程序,看看您是否可以记录连接,您可能需要在页面上同意监控序言。

相关内容