假设我有一个软件包(com.example.private
),其中包含一些包含敏感信息的类。在正常情况下,方法和字段为private
或package private
,以防止访问。
我知道通过使用setAccessible(true)
方法,可以使用反射来访问这些属性,而不管它们的隐私修饰符如何。因此,我想使用SecurityManager
来阻止对Reflection的访问。但是,由于反射是我公开访问的API的一部分,因此我不能完全阻止它。
我尝试使用suppressAccessChecks
权限检查,该检查有效,但如上所述,它破坏了我的API的一部分。
TL; DR:
是否可以使用SecurityManager
来阻止对特定类或包的反射?
编辑:该线程详细介绍了如何阻止来自特定CALLER的Reflect。 我的目标是将“反射”阻止到特定的目标。