我正在编写一个web表单应用程序,其中用户应该只能从与特定用户链接的指定计算机访问站点。
我使用默认的ASP.net成员资格来处理用户登录过程。
我目前的思路是将计算机的计算机名称(使用System.Net.Dns.GetHostName)保存到userId中,当用户登录时,根据试图登录的用户检查计算机的名称。如果不允许该用户从机器上访问站点,则将拒绝访问。问题是有些用户正在使用Mac来访问站点,而且Mac体验非常有限,我不确定我是否能够使用这种方法。或者说,这甚至是对这项任务采取的最佳方法。
谷歌的搜索结果并不多。有人能为我提供一种独立于平台的方法来识别客户端机器吗?或者,如果我完全忽略了我是如何处理这个问题的,那么就给我指明进一步研究的正确方向吧?
编辑我放弃了这种方法,转而使用SSL和客户端证书身份验证
发布于 2013-12-03 13:50:37
你会用..。
Request.UserHostNamehttp://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
https://stackoverflow.com/questions/20352596
复制相似问题