如何从反射访问中过滤特定字段?
How a particular field is filtered from reflection access?
Java如何限制反射访问private final ClassLoader classLoader in Class.java? (如屏幕截图中的文档所示)
我找到了一个 link,它描述了可以使用 SecurityManager 来限制反射访问,但我该如何使用它。请详细说明。
然后我想限制对特定字段的访问。
找到similar question
但想知道如何在我的 class 中实现它,正如在为什么在 jdk 中实现它的问题中已经问到的那样?我也可以使用反射打破这条链吗?
它由 JVM 通过您无法使用的特殊机制进行保护。即使您拥有所有权限,您也无法通过反射访问它,尽管通常可以访问私有字段。
对于我们凡人来说,我们能做的最好的事情就是使用 SecurityManager
来防止反射访问,更重要的是设计我们的软件,使其不依赖 Java 来保密。
回答你的编辑,因为我显然不清楚(?)
"how can I implement this in my class?"
你不能。
"why this is implemented in jdk?"
所以你不能用反射来绕过它。
"Can I also break this chain using reflection?"
不,这就是重点。
我找到了一个 link,它描述了可以使用 SecurityManager 来限制反射访问,但我该如何使用它。请详细说明。
然后我想限制对特定字段的访问。
找到similar question 但想知道如何在我的 class 中实现它,正如在为什么在 jdk 中实现它的问题中已经问到的那样?我也可以使用反射打破这条链吗?
它由 JVM 通过您无法使用的特殊机制进行保护。即使您拥有所有权限,您也无法通过反射访问它,尽管通常可以访问私有字段。
对于我们凡人来说,我们能做的最好的事情就是使用 SecurityManager
来防止反射访问,更重要的是设计我们的软件,使其不依赖 Java 来保密。
回答你的编辑,因为我显然不清楚(?)
"how can I implement this in my class?" 你不能。
"why this is implemented in jdk?" 所以你不能用反射来绕过它。
"Can I also break this chain using reflection?" 不,这就是重点。