PolicySpi
PolicySpi (보안 정책 SPI)
Policy 클래스의 Service Provider Interface(SPI)를 정의하는 추상 클래스입니다. Policy 구현을 제공하려는 각 서비스 프로바이더는 이 클래스의 모든 추상 메서드를 구현해야 합니다.
본문
PolicySpi는 보안 정책의 내부 엔진(engine) 역할을 수행하며, 실제 Policy 객체의 공개 메서드가 이 SPI의 engine* 메서드들을 호출합니다. 이 추상 클래스의 하위 클래스 구현은 Policy.Parameters 객체를 입력 매개변수로 받는 공개 생성자를 제공해야 하며, 입력을 이해하지 못하면 IllegalArgumentException을 던져야 합니다.
SPI가 정의하는 메서드는 다음과 같습니다.
protected abstract boolean engineImplies(ProtectionDomain domain, Permission permission)— 정책을 평가해ProtectionDomain에 권한이 부여되었는지 검사합니다.protected void engineRefresh()— 정책 구성을 새로 고치거나 다시 로드합니다. 예를 들어 파일 기반 정책의 경우 파일을 다시 읽습니다. 기본 구현은 아무것도 하지 않으며, 구현이 새로 고침을 지원하면 오버라이드해야 합니다.protected PermissionCollection engineGetPermissions(CodeSource codesource)— 지정된CodeSource에 부여된 권한 집합을 반환합니다. 기본 구현은Policy.UNSUPPORTED_EMPTY_COLLECTION을 반환합니다.protected PermissionCollection engineGetPermissions(ProtectionDomain domain)— 지정된ProtectionDomain에 부여된 권한 집합을 반환합니다. 기본 구현은Policy.UNSUPPORTED_EMPTY_COLLECTION을 반환합니다.
참고:
SecurityManager와 관련 정책 클래스들은 더 이상 사용되지 않으며(Deprecated) 향후 제거될 수 있습니다. 이들을 대체하는 것은 없습니다.