SerializablePermission — 직렬화 관련 권한
SerializablePermission — 직렬화 관련 권한
SerializablePermission은 직렬화와 관련된 권한을 나타내는 클래스예요. 이름 기반 권한(name-based permission)으로, 직렬화 메커니즘의 특정 작업을 보안 관리자가 허용 또는 거부할 때 사용해요.
본문
이 클래스는 java.security.BasicPermission을 상속하며, Serializable을 구현합니다. 권한은 이름으로 정의되는데, 다음과 같은 이름이 사용돼요:
enableSubclassImplementation— 하위 클래스가ObjectInputStream/ObjectOutputStream(구현)의readObject/writeObject를 재정의할 수 있게 합니다.enableSubstitution— 직렬화 중 한 객체를 다른 객체로 대체(substitution)할 수 있게 합니다.
기본적으로 SecurityManager가 활성화된 환경에서 이 권한들은 제한될 수 있으며, java.security.Policy 파일 등에 권한을 부여해 특정 클래스나 코드베이스가 직렬화의 고급 기능을 사용하도록 허용할 수 있어요.
SerializablePermission은 이름과 (선택적으로) 동작을 갖는 BasicPermission의 하위 클래스로, 주로 ObjectOutputStream.enableReplaceObject 같은 대체·하위 클래스 기능을 통제하는 데 사용됩니다.