C# 在最低安全性上下文中运行DLR嵌入式脚本

C# 在最低安全性上下文中运行DLR嵌入式脚本,c#,.net,ironpython,ironruby,dynamic-language-runtime,C#,.net,Ironpython,Ironruby,Dynamic Language Runtime,我需要指出正确的方向。我已经将Iron Python脚本主机嵌入到一个简单的C#应用程序中,但现在我需要知道在用户生成的IronPython或IronRuby脚本上锁定安全性的最佳实践 具体来说,防止库导入的策略是什么?在.NET中是否有办法在不同的安全上下文中运行代码块或线程,例如防止文件系统访问?此外,是否可以为该上下文分配一个内置级别或角色,而不是实际用户 谢谢 您应该在不同的appdomain中运行脚本主机,并使用Sergey通过属性设置安全策略,这会阻止IronPython打开('c:

我需要指出正确的方向。我已经将Iron Python脚本主机嵌入到一个简单的C#应用程序中,但现在我需要知道在用户生成的IronPython或IronRuby脚本上锁定安全性的最佳实践

具体来说,防止库导入的策略是什么?在.NET中是否有办法在不同的安全上下文中运行代码块或线程,例如防止文件系统访问?此外,是否可以为该上下文分配一个内置级别或角色,而不是实际用户


谢谢

您应该在不同的appdomain中运行脚本主机,并使用

Sergey通过属性设置安全策略,这会阻止IronPython打开('c:\\file.txt')调用吗?不确定Python,但如果它使用System.IO命名空间打开文件肯定是的。我猜您是IronRuby的家伙。被锁定的AppDomain会阻止ruby的原生文件方法工作吗?当然!请记住,IronRuby的本机文件方法最终是System.IO操作。