Платформы SecurityManager, которые предлагают более точный контроль над ресурсами - PullRequest
0 голосов
/ 25 августа 2011

Я всегда думал, что SecurityManagers включал метод проверки, который вызывался при попытке Method / Field.setAccessible (), который включал в себя Разрешение, включающее имя метода / поля, включающего в себя класс, имя члена и т. Д.это шок.

У меня была идея, что можно было бы решить эту проблему с помощью ClassLoader, который переписал такие попытки, как

Method.setAccessible() 

до

MethodHelper.setAccessible( Method );

Метод MethodHelperмог бы установить локальный поток, на который смотрел бы мой менеджер безопасности, чтобы получить фактический метод.

  • Это, конечно, имеет некоторые потенциальные недостатки, поскольку требует переписывания файлов классов, что, конечно, может произойти только для не системных классов.

Тот же самый подход может быть использован для извлеченияметоды, поля и т. д., которые сегодня делают член доступным для SecurityManager в любой форме.

Существуют ли какие-либо библиотеки FOSS, которые упаковывают вышеуказанную функциональность?

...