Менеджер безопасности Java для JRuby
При использовании диспетчера безопасности Java для сценариев Jruby возможно ли дать одному сценарию полные разрешения?
2 ответа
Возможно, есть другой ответ: если у вас есть отдельные менеджеры безопасности, которые вы хотите применить к отдельным сценариям, то вы всегда можете раскрутить отдельные экземпляры JRuby в отдельных загрузчиках классов. Они ничего не поделятся и должны оставаться в изоляции. Но Ник прав, на данный момент в JRuby нет ничего встроенного в песочницу для отдельных скриптов, и у нас нет никаких планов сделать это...
Если вы имеете в виду использование одного и того же диспетчера безопасности для разных сценариев, которые применяют разные разрешения, то ответ будет отрицательным, если вы сами не пишете диспетчер безопасности, чтобы каким-то образом быть в курсе сценариев. Нет способа указать сценарий в файле политики безопасности (как вы это сделали бы для классов). Я вижу два варианта на данный момент:
- Напишите пользовательский менеджер безопасности, который может быть осведомлен о том, какой скрипт выполняется,
- Скомпилируйте сценарии JRuby в классы Java (используя jrubyc --java) и примените разрешения к различным классам Java.
Для помощи с 2, я предлагаю взглянуть на недавний пост Чарли.