Я пытаюсь использовать песочницу JSR-223. В частности, я не хочу, чтобы script имел доступ к любому из моих классов. (Я слышал, что Rhino может сделать это с помощью ClassShutter, но я хочу сделать это вообще, т.е. Для всех script двигателей JSR-223).
Сначала я попытался использовать решение AccessController.doPrivileged
, не передав никаких разрешений вообще. Он работает для большинства разрешений, но скрипты могут получить доступ ко всем моим общедоступным классам (он, кажется, игнорирует разрешение доступа к пакету...?).
I нашел это. Мой вопрос: как установить пользовательский ClassLoader в движок script? (Или Как заменить ClassLoader глобально, если мне нужно?)