在ASP.NET中验证(甚至识别)客户端计算机

时间:2009-09-26 00:31:35

标签: asp.net authentication windows-authentication

哪些策略适用于识别用户正在浏览的计算机?

假设: 使用IE和至少NTLM的集成Windows身份验证的域计算机上的域用户。

这应该很简单,但是我找不到如何将这些信息从请求或任何其他漏洞中提取出来。每个客户端证书似乎有很多开销(我甚至不知道您是否可以通过请求访问证书信息)。我还考虑过基于MAC地址的方案...... ick。卡尔贡,把我带走!

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

Request.UserHostName对HTTP标头中的IP地址执行反向dns查找。对于我们的目的,这将太不可靠。感谢RM指针。

最后,我相信我们将推荐每个客户端证书,并根据Request.ClientCertificate在数据库中跟踪我们的机器特定信息。

答案 2 :(得分:0)

您还可以尝试在请求中的IP地址处发送nbtstat样式的ping。响应中的20h记录将是主机名。谷歌搜索为此提供了几个代码示例。

值得一试,似乎比分发和维护每个客户端的证书更容易。