Приложение My JEE работает под управлением tomee и позволяет пользователю писать свои собственные скрипты и запускаться из веб-gui, но я хотел бы ограничить некоторые операции, такие как System.exit (1), например.Как я могу позволить конечному пользователю запускать сценарии в среде JEE под конкретными ограничениями безопасности?
Обсуждение связанных с этим вопросом можно найти в beanshell2 форуме - проверить это - http://code.google.com/p/beanshell2/issues/detail?id=15
Любой язык сценариев, который работает внутри виртуальной машины Java в порядке, но мне нужен этот уровень контроля. Моя первая попытка заключалась в использовании beanshell, но, как видно из вышеизложенного, кажется, что это не вариант.
Я хотел бы избежать более эзотерических языков, поскольку конечный пользователь является техническим, но я не могу попросить его/ее изучить неизвестный язык программирования, чтобы просто написать сценарий :-) [или, может быть, я могу, если я не найдете полезной опции для этого]
Как я могу это получить? Groovy? Может быть, любой другой язык сценариев на основе JVM?
Я также посмотрю на [Groovy Sandbox] (http://groovy-sandbox.kohsuke.org/) (так как SecureASTCustomizer может быть [немного негерметичным] (http://kohsuke.org/2012/04/27/groovy-secureastcustomizer-is-harmful/)) –
Groovy Sandbox окончательно выглядит как лучший вариант здесь, и Kohsuke's лицензия по умолчанию - это MIT, которая лучше, чем beanshell (GPL) в моем конкретном случае. –