(简短)问题:是否可以在mvc应用程序中获取主机的mac地址?怎么样?
详情:
我有一个MVC应用程序,将在不同的Windows机器上分发和安装/托管,以便在本地运行。
现在我想实现许可功能,我获取主机的mac地址,为该特定机器生成一个序列,并在其数据库中插入这些详细信息,mac地址和序列号。
然后计划为控制器创建一个全局过滤器,以验证数据库中保存的mac地址和串行在访问该控制器之前是否有效。我可以做所有这些。
但主要问题是,mac地址保存在数据库中,因此有人可以将该mac地址和串行组合复制到另一台主机上,它仍然有效。解决方案是让我的MVC应用程序读取主机的mac地址并确认它是否与数据库中保存的mac匹配,如果没有则替换并继续验证serial。如何让我的MVC应用程序读取HOST计算机的mac地址(而不是正在浏览Web应用程序的客户端。)这是否可能?
有些人可能会说:只需在您自己的托管服务中托管您的应用程序!
我的回答是,这是理想的选择,但在我的国家,并非每个人都能为他们的企业提供可靠的互联网连接。所以我需要提供一个在这些情况下能够正常工作的解决方案(在我的情况下,让他们在自己的计算机上托管应用程序),同时也为我正在开发的应用程序提供安全性。
答案 0 :(得分:0)
你可以使用Page.Request.UserHostAddress
但是获取MAC地址有点困难,但你可以,你需要使用WMI。 "您需要在JavaScript中创建一个对象,查询WMI并将信息传递回服务器。此外,您需要允许在IE中访问未签名的ActiveX。 "