ReflectPermission — 리플렉션 연산 권한 클래스

ReflectPermission — 리플렉션 연산 권한 클래스

ReflectPermission은 리플렉션 연산을 위한 Permission 클래스예요. 보안 관리자(SecurityManager) 하에서 리플렉션을 통한 민감한 접근을 제어하는 데 사용돼요. 주요 권한 대상 이름은 다음과 같아요.

  • suppressAccessChecks — 클래스의 필드와 메서드에 대한 표준 자바 언어 접근 검사를 억제할 수 있게 해 줘요. public 멤버뿐 아니라 패키지 접근, protected, private 멤버에도 접근할 수 있게 해요. 이는 보안상 위험할 수 있어요 — 평소에는 접근할 수 없는 (기밀일 수도 있는) 정보와 메서드에 악성 코드가 접근할 수 있게 되기 때문이에요.
  • newProxyInPackage.{패키지 이름} — 프록시 클래스가 구현하는 비공개 인터페이스가 있는 지정된 패키지에 프록시 인스턴스를 만들 수 있게 해 줘요.

Permission은 리플렉션 연산용 권한이에요. 이 권한은 "suppressAccessChecks" 이름과 함께 사용돼요.

출처: Java API Reference

본문

public ReflectPermission(String name) — 지정된 이름을 가진 ReflectPermission을 만들어요. 이름은 "suppressAccessChecks" 또는 "newProxyInPackage.{패키지}"여야 해요.

public ReflectPermission(String name, String actions) — 지정된 이름과 액션을 가진 권한을 만들어요. ReflectPermission은 액션이 없으므로 actionsnull이거나 빈 문자열이어야 해요.

더 알아보기 (Learn more)