我允许我的应用程序用户运行C#代码片段,以便能够直接操作我的程序集中的某些对象,而无需编写大型脚本界面层来显式公开所有内容。如何限制程序集的安全权限,但不限制其被调用者的权限?
这段代码将被注入到一个动态编译的程序集中,所以我可以控制程序集本身,但是我需要停止使用反射访问我的私有方法的代码。
在运行代码之前,我尝试调用securityPermissionObject.Deny(),但是当用户的代码调用时,这会阻止我的对象上的方法使用反射(有些时候会使用反射)。
有没有办法限制只在可疑程序集上的权限,而不会影响它在我的信任程序集上调用的公共方法?
这似乎是控制权限限制的唯一可行的方法,只是一个耻辱,它需要用某种通信方式明确公开沙箱外的每个安全方法。 – mentlegen 2011-01-27 12:40:47