我正在开发一个MVC3应用程序,该应用程序将在带有SQL Server存储库的IIS7上托管。
我需要将网站上的某些操作限制为单个计算机,我正在尝试找出实现此方法的最佳方法。
我使用基于表单的会员资格和登录帐户的角色,但由于我们的客户,他们不希望“登录”机器需要特殊的登录帐户,因此我需要另一种方法来确认您是否在正确的机器上执行“登录”活动。如果一名工作人员在家并登录该网站,我们不希望他们从任何地方访问某些功能,除了一台指定的计算机。
我们还需要能够让管理员在设备出现故障时轻松更改“登录”计算机。
答案 0 :(得分:3)
机器名称或IP地址实际上并不是一种非常安全的方式 - 非常容易欺骗。你真的应该对外部资源进行身份验证,而不是检查使用正确的工具魔术机器名称是否容易变化是否相同。
您可能希望在这里看到的是客户端证书 - AFAIK,它们可以安装在计算机(而不是用户)级别上,有很多支持并且您没有推出自己的安全方案。
答案 1 :(得分:1)
您可以修复“登录”计算机的IP地址吗?这不是万无一失的,但很容易从浏览器会话中确定并结合用户身份验证,它应该提供合理的保护。
如果您的客户真的是偏执狂,您也可以尝试查询固定IP地址的MAC地址,并确保它符合您对“登录”计算机的期望。