Tag: 安全管理器

为什么java安全管理器不禁止创建新的Thread()也不禁止它?

你碰巧知道解释为什么java安全管理器不禁止创建新线程或启动它们吗? 新的FileWriter在安全管理器下,但新的Thread()和threadInstance.start()都不是更安全的安全管理器,并且可以调用。 禁止它会不会有用吗? 难以实施吗? 或者创建和启动新线程并不是那么禁止它?

禁用当前线程的Javareflection

我需要调用一些半可信赖的Java代码,并希望禁用在代码执行期间使用reflection的能力。 try{ // disable reflection somehow someObject.method(); } finally{ // enable reflection again } 可以使用SecurityManager来完成,如果是这样,怎么做? 澄清/上下文:这是关于限制可以从JavaScript / Rhino调用的包的另一个问题的后续行动。 接受的答案引用了关于如何做到这一点的博客条目,它需要两个步骤,第一个使用Rhino API(ClassShutter),第二个关闭reflection和Class.forName()。 我想我可以使用SecurityManager更干净地完成第二步(了解SecurityManager,正如已经指出的那样,它是一个复杂的野兽,一路走来)。 总而言之,我希望(从代码,而不是设置文件)关闭Class.forName()以及对整个reflection包的任何访问。