PropertyPermission — 시스템 속성 권한

PropertyPermission — 시스템 속성 권한

PropertyPermission시스템 속성(property)에 대한 권한을 나타내는 클래스예요. 이름은 속성의 이름("java.home", "os.name" 등)이에요. 명명 규칙은 계층적 속성 명명 규칙을 따르며, 이름 끝에 . 뒤 또는 단독으로 별표(*)가 올 수 있어 와일드카드 매칭을 나타내요. 예를 들어 "java.*""*"는 와일드카드지만 "*java""a*b"는 아니에요.

출처: Java API Reference

본문

public final class PropertyPermission extends BasicPermission

부여할 액션은 쉼표로 구분된 키워드 목록을 담은 문자열로 생성자에 전달돼요. 가능한 키워드는 "read""write"예요. readSystem.getProperty를 호출할 수 있게 하고, writeSystem.setProperty를 호출할 수 있게 해요. 액션 문자열은 처리 전 소문자로 변환돼요.

특정 시스템 속성 접근을 허용하는 권한을 부여할 때는 주의해야 해요. 예를 들어 "java.home" 접근 권한은 잠재적으로 악의적인 코드에 시스템 환경(자바 설치 디렉터리)에 대한 민감한 정보를 줄 수 있어요. 마찬가지로 "user.name", "user.home" 접근 권한은 사용자 계정 이름과 홈 디렉터리 같은 민감한 사용자 정보를 줄 수 있어요.

생성자

PropertyPermission(String name, String actions) — 지정된 이름으로 새 권한 객체를 만들어요. actions는 부여할 액션의 쉼표 구분 목록이에요.

메서드

  • implies(Permission p) — 이 권한이 지정 권한을 "함의"하는지 검사해요. pPropertyPermission이고 p의 액션이 이 객체 액션의 부분집합이며 p의 이름이 이 객체 이름에 함의될 때 true를 반환해요. 예: "java.*""java.home"을 함의해요.
  • equals(Object) — 같은 이름과 액션을 가진 PropertyPermission인지 검사해요.
  • hashCode() — 권한 이름의 해시코드(getName().hashCode())를 반환해요.
  • getActions() — 액션의 "정규 문자열 표현"을 반환해요(read,write 순서).
  • newPermissionCollection()PropertyPermission 객체를 저장하는 새 PermissionCollection을 반환해요.

더 알아보기 (Learn more)