使用ASP.NET MVC3以编程方式检查计算机标识

时间:2011-10-14 14:52:14

标签: c# asp.net-mvc-3

我正在开发一个MVC3应用程序,该应用程序将在带有SQL Server存储库的IIS7上托管。

我需要将网站上的某些操作限制为单个计算机,我正在尝试找出实现此方法的最佳方法。

我使用基于表单的会员资格和登录帐户的角色,但由于我们的客户,他们不希望“登录”机器需要特殊的登录帐户,因此我需要另一种方法来确认您是否在正确的机器上执行“登录”活动。如果一名工作人员在家并登录该网站,我们不希望他们从任何地方访问某些功能,除了一台指定的计算机。

我们还需要能够让管理员在设备出现故障时轻松更改“登录”计算机。

2 个答案:

答案 0 :(得分:3)

机器名称或IP地址实际上并不是一种非常安全的方式 - 非常容易欺骗。你真的应该对外部资源进行身份验证,而不是检查使用正确的工具魔术机器名称是否容易变化是否相同。

您可能希望在这里看到的是客户端证书 - AFAIK,它们可以安装在计算机(而不是用户)级别上,有很多支持并且您没有推出自己的安全方案。

答案 1 :(得分:1)

您可以修复“登录”计算机的IP地址吗?这不是万无一失的,但很容易从浏览器会话中确定并结合用户身份验证,它应该提供合理的保护。

如果您的客户真的是偏执狂,您也可以尝试查询固定IP地址的MAC地址,并确保它符合您对“登录”计算机的期望。