【发布时间】:2011-05-25 08:22:08
【问题描述】:
一个类可以冒充它的身份吗?例如,A 类尝试访问B 类方法。 B 类方法使用getClass().getName() 尝试检查A 类以确保它是谁。可以冒充吗?例如C 类模拟 A 类以通过 getclass().getName() 类 B 用于检查?
如果 Class B 想要实现 getClass().getName() 对下面的示例方法有效的检查,我如何在下面的示例代码中正确实现它?
public byte[] getStoragePrivateKey(String application) {
if (application.getClass().getName().equals("correctClass") {
// Allow access to Private Key.
} else {
// Access denied
}
}
上面的例子是模拟系统中的一个插件小程序试图访问系统中的内部密钥服务器数据库。
【问题讨论】:
-
你想要达到什么目的?在 Java 中启用安全性的方法有很多,最简单的是安全策略。我先看看那里,因为它们允许您以稳健的方式提供访问控制 - download.oracle.com/javase/1.4.2/docs/guide/security/…
标签: java class impersonation