簡體   English   中英

如何使Groovy從ClassLoader而不是從文件系統讀取類?

[英]How to make Groovy read from your ClassLoader rather than file system for classes?

我想對我的嵌入式Groovy進行沙箱處理,並且我想在嘗試解析類和資源時為讀取的位置和內容引入一個抽象。 是否有任何可以修補Groovy以支持我想要的庫?

我已經編寫了一個CMS,用戶可以在其中使用Groovy編寫自己的控制器。 我使用自定義類加載器加載用戶的類,並且還設置了InheritableThreadLocal <Boolean>來告訴我的自定義SecurityManager控制器正在運行。

當此ThreadLocal設置為true時,SecurityManager將禁止通過checkMemberAccess()方法訪問某些成員,並且僅允許訪問checkPermission()方法中列入白名單的類和包。 這樣,即使用戶使用另一個類加載器來加載類,我仍然可以阻止對字段成員的訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM