Java SecurityManager:阻止对特定类的反射

时间:2018-12-10 16:10:26

标签: java securitymanager

假设我有一个软件包(com.example.private),其中包含一些包含敏感信息的类。在正常情况下,方法和字段为privatepackage private,以防止访问。

我知道通过使用setAccessible(true)方法,可以使用反射来访问这些属性,而不管它们的隐私修饰符如何。因此,我想使用SecurityManager来阻止对Reflection的访问。但是,由于反射是我公开访问的API的一部分,因此我不能完全阻止它。

我尝试使用suppressAccessChecks权限检查,该检查有效,但如上所述,它破坏了我的API的一部分。

TL; DR: 是否可以使用SecurityManager来阻止对特定类或包的反射?

编辑:该线程详细介绍了如何阻止来自特定CALLER的Reflect。 我的目标是将“反射”阻止到特定的目标。

Is there a way for a SecurityManager in java to selectively grant ReflectPermission("suppressAccessChecks")?

0 个答案:

没有答案