클래스가 해당 ID를 가장 할 수 있습니까? 예를 들어, 클래스 A
은 클래스 B
메소드에 액세스하려고 시도합니다. Class B
메서드는 getClass().getName()
을 사용하여 클래스 A
을 확인하여 그것이 누구인지 확인합니다. 가장 (impersonation)이 일어날 수 있습니까? 예 : Class C
은 A
을 가장하여 getclass().getName()
클래스 B
을 사용하여 검사를 통과합니까?클래스 기반의 가장
클래스 B
이 아래 샘플 메서드에서 유효한 체크 용으로 getClass().getName()
을 구현하려는 경우 아래 예제 코드에서이를 올바르게 구현하는 방법은 무엇입니까?
public byte[] getStoragePrivateKey(String application) {
if (application.getClass().getName().equals("correctClass") {
// Allow access to Private Key.
} else {
// Access denied
}
}
위의 예는 시스템의 내부 키 서버 데이터베이스에 액세스하려는 시스템의 플러그인 애플릿을 시뮬레이션 한 것입니다.
는 당신이 달성하기 위해 노력하고 무엇을? Java 내에서 보안을 가능하게하는 여러 가지 방법이 보안 정책 중 가장 간단합니다. 먼저 액세스 제어를 강력한 방식으로 제공 할 수 있으므로 먼저 살펴 보겠습니다. http://download.oracle.com/javase/1.4.2/docs/guide/security/permissions.html –