如何让Graovy从ClassLoader而不是文件系统中读取类?

时间:2012-03-12 22:11:51

标签: groovy

我喜欢将我的嵌入式Groovy沙箱化,我想在尝试解析类和资源时向其中的内容和内容介绍抽象。是否有任何修补Groovy以支持我想要的库?

1 个答案:

答案 0 :(得分:0)

我编写了一个CMS,用户可以在Groovy中编写自己的控制器。我使用自定义类加载器加载用户的类,并且还设置了 InheritableThreadLocal< Boolean> ,告诉我的自定义SecurityManager控制器正在运行。

当此ThreadLocal设置为true时,SecurityManager将禁止通过 checkMemberAccess()方法访问某些成员,并且它只允许访问 checkPermission中的列入白名单的类和包( )方法。这样,即使用户使用另一个类加载器来加载类,我仍然可以阻止对字段成员的访问。