我们有一个服务器应用程序,我们希望限制非用户从其他计算机上触发它,甚至双击任何共享。
然而,开发人员应该很容易在他们的盒子上运行它。
执行此政策的方法有哪些?
答案 0 :(得分:2)
有几种方法可以控制程序集的访问。
我们以许可证为基础保护程序集,因此只有拥有许可证的工作站才能运行程序集。
我们允许开发人员不选中运行调试版本。我们当然会严格控制调试版本。您可以在调试版本中添加其他检查,以便在必要时提高安全性。或者向开发者发放许可证。
对于我们的调试版本,我们在“#IF DEBUG”中包含的调试代码中添加许可证,以确保它不会编译到发布版本中。
我不是说这是最好的方法,但这是我们使用的方法。
答案 1 :(得分:2)
我想你正在寻找一个简单的故障保护,而不是一个气密的访问控制......
将机器名称放在配置文件中,并在应用程序启动时将其与计算机名称进行比较。这样你就无法在其他任何地方错误地运行它,并且在开发时或者移动应用程序时很容易改变。
答案 2 :(得分:2)
一个想法:可以使用需要存在的注册表项才能运行。
另一个:可能需要在密钥库中安装X509证书才能运行
另一个:使用System.Security.Permissions并将操作限制为一组用户或一组。
等