我正在编写.net win app,它可以加载外部程序集并执行第三方脚本。我正在寻找一种方法来清理外部脚本执行的代码,并且只允许第三方脚本访问一组已定义的网站。创建一个状态设置为none的PermissionSet,然后添加所需的网站,并选择“仅允许”,似乎可以解决问题,如果不是因为第三方代码可以完全信任,使用Assert还原它。我仍然希望我控制自己的代码部分在完全信任下运行,因此我正在寻找一种方法来以编程方式限制特定线程或堆栈中特定点的信任级别。
非常感谢任何帮助。
答案 0 :(得分:3)
您无法在线程级别执行此操作。
在单个应用程序中拥有不同信任关系的适当方法是为第三方脚本创建一个单独的AppDomain来运行。
克里斯·布鲁姆(Chris Brumme)写了一篇good blog post regarding AppDomains作为背景阅读材料。