0

我一直认为 SecurityManagers 包含一个检查方法,该方法在尝试 Method/Field.setAccessible() 时调用,其中包含一个权限,其中包括方法/字段封闭类的名称和成员名称等。显然它没有,这令人震惊.

我有一个想法,可以通过使用重写尝试的 ClassLoader 来解决这个问题,例如

Method.setAccessible() 

MethodHelper.setAccessible( Method );

MethodHelper 方法可以设置一个本地线程,我的安全经理查看并清除该线程以获取实际的方法。

  • 这当然有一些潜在的缺陷,因为它需要重写类文件,这当然只能发生在非系统类中。

可以采用相同的方法来检索方法、字段等,如今这些方法、字段等确实使成员可以以任何形式对 SecurityManager 可用。

是否有任何 FOSS 库包含上述功能?

4

0 回答 0