我正在编写一个Web表单应用程序,用户只能从链接到特定用户的指定计算机访问该站点。
我正在使用默认的ASP.net Membership来处理用户登录过程。
我目前的想法是将计算机的计算机名称(使用System.Net.Dns.GetHostName
)保存到userId,当用户登录时,请检查计算机的名称与尝试登录的用户。如果该用户不是允许从机器访问该站点,然后访问将被拒绝。问题是一些用户正在使用Mac访问该网站并且Mac体验非常有限,我不确定我是否能够使用这种方法。或者,如果这甚至是一般采取此任务的最佳方法。
谷歌搜索没有出现太多结果。任何人都可以为我提供一种独立于平台的方法来识别客户端机器,或者我是否完全错过了我接近这一点的情节,只是指出了我正在进行进一步研究的方向?
修改 的 我放弃了这种方法,而不是使用SSL和客户端证书身份验证
答案 0 :(得分:0)
你会用......
Request.UserHostName
http://msdn.microsoft.com/en-us/library/system.web.httprequest.userhostname(v=vs.110).aspx
我不确定Mac是否会提供该信息。客户端浏览器与服务器可用于客户端的信息有很大关系。但是,Request对象是您要查找该信息的位置。如果您可以访问Mac,或者可以让Mac用户访问测试页,您可以记录提供给您的服务器变量,以帮助确定最佳方法。 MSDN文档中提供了一个示例:
http://msdn.microsoft.com/en-us/library/system.web.httprequest.headers(v=vs.110).aspx