Менеджер безопасности Java для JRuby

При использовании диспетчера безопасности Java для сценариев Jruby возможно ли дать одному сценарию полные разрешения?

2 ответа

Решение

Возможно, есть другой ответ: если у вас есть отдельные менеджеры безопасности, которые вы хотите применить к отдельным сценариям, то вы всегда можете раскрутить отдельные экземпляры JRuby в отдельных загрузчиках классов. Они ничего не поделятся и должны оставаться в изоляции. Но Ник прав, на данный момент в JRuby нет ничего встроенного в песочницу для отдельных скриптов, и у нас нет никаких планов сделать это...

Если вы имеете в виду использование одного и того же диспетчера безопасности для разных сценариев, которые применяют разные разрешения, то ответ будет отрицательным, если вы сами не пишете диспетчер безопасности, чтобы каким-то образом быть в курсе сценариев. Нет способа указать сценарий в файле политики безопасности (как вы это сделали бы для классов). Я вижу два варианта на данный момент:

  1. Напишите пользовательский менеджер безопасности, который может быть осведомлен о том, какой скрипт выполняется,
  2. Скомпилируйте сценарии JRuby в классы Java (используя jrubyc --java) и примените разрешения к различным классам Java.

Для помощи с 2, я предлагаю взглянуть на недавний пост Чарли.

Другие вопросы по тегам