Est-il possible pour une classe d'usurper son identité? Par exemple, la classe A
tente d'accéder aux méthodes de classe B
. Les méthodes de la classe B
utilisent getClass().getName()
pour tenter de vérifier la classe A
pour s'assurer que c'est bien qui. L'usurpation d'identité peut-elle avoir lieu? par exemple. Classe C
imite la classe A
pour obtenir le getclass().getName()
Classe B
utilise pour les contrôles?Usurpation d'identité basée sur la classe
Si la classe B
veut implémenter getClass().getName()
pour des contrôles efficaces sur la méthode exemple ci-dessous, comment l'implémenter correctement dans l'exemple de code ci-dessous?
public byte[] getStoragePrivateKey(String application) {
if (application.getClass().getName().equals("correctClass") {
// Allow access to Private Key.
} else {
// Access denied
}
}
L'exemple ci-dessus est une simulation d'un applet de plug-in dans le système tente d'accéder à une base de données de serveur clé interne dans le système.
Qu'est-ce que vous essayez d'atteindre? Il y a plusieurs façons d'activer la sécurité dans Java, la plus simple étant une politique de sécurité. Je voudrais d'abord jeter un coup d'oeil ici car ils vous permettent de fournir un contrôle d'accès d'une manière robuste - http://download.oracle.com/javase/1.4.2/docs/guide/security/permissions.html –