如何限制.Net程序集在特定机器上运行

时间:2009-05-16 00:10:51

标签: .net policy

我们有一个服务器应用程序,我们希望限制非用户从其他计算机上触发它,甚至双击任何共享。

然而,开发人员应该很容易在他们的盒子上运行它。

执行此政策的方法有哪些?

3 个答案:

答案 0 :(得分:2)

有几种方法可以控制程序集的访问。

我们以许可证为基础保护程序集,因此只有拥有许可证的工作站才能运行程序集。

我们允许开发人员不选中运行调试版本。我们当然会严格控制调试版本。您可以在调试版本中添加其他检查,以便在必要时提高安全性。或者向开发者发放许可证。

对于我们的调试版本,我们在“#IF DEBUG”中包含的调试代码中添加许可证,以确保它不会编译到发布版本中。

我不是说这是最好的方法,但这是我们使用的方法。

答案 1 :(得分:2)

我想你正在寻找一个简单的故障保护,而不是一个气密的访问控制......

将机器名称放在配置文件中,并在应用程序启动时将其与计算机名称进行比较。这样你就无法在其他任何地方错误地运行它,并且在开发时或者移动应用程序时很容易改变。

答案 2 :(得分:2)

一个想法:可以使用需要存在的注册表项才能运行。

另一个:可能需要在密钥库中安装X509证书才能运行

另一个:使用System.Security.Permissions并将操作限制为一组用户或一组。