JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security.acl
인터페이스 Acl

모든 슈퍼 인터페이스:
Owner

public interface Acl
extends Owner

액세스 제어 리스트 (ACL: Access Control List)를 나타내는 인터페이스입니다. ACL 는 리소스에 대한 액세스를 보호하는 데이터 구조체입니다.

ACL 는 복수의 ACL 엔트리를 가지는 데이터 구조체라고 볼 수가 있습니다. interface 형 AclEntry 의 각 ACL 엔트리에는 특정의 주체에 관련하는 액세스권세트가 포함됩니다 (주체와는 개인 유저나 그룹등의 엔티티를 나타낸다). 게다가 각 ACL 엔트리에는 정 또는 부의 부호를 붙여 지정합니다. 정의 경우는 관련하는 주체에 액세스권이 주어집니다. 부의 경우는 액세스권은 거부됩니다.

각 ACL 중의 ACL 엔트리는 이하의 규칙에 따릅니다.

java.security.acl 패키지는 ACL 와 관련하는 데이터 구조체 (ACL 엔트리, 그룹, 액세스권등)에 대한 인터페이스를 제공해,sun.security.acl 클래스는 인터페이스의 디폴트의 구현을 제공합니다. 예를 들어,java.security.acl.Acl 는 ACL 에 대한 인터페이스를 제공해,sun.security.acl.AclImpl 클래스는 그 인터페이스의 디폴트의 구현을 제공합니다.

java.security.acl.Acl 인터페이스는 java.security.acl.Owner 인터페이스를 확장한 것입니다. Owner 인터페이스는 각 ACL 의 소유자의 리스트를 유지하기 위해서 사용합니다. 소유자 밖에 ACL 의 변경은 용서되지 않습니다. 예를 들어, ACL 의 addEntry 메소드를 호출해, 새로운 ACL 엔트리를 ACL 에 추가할 수가 있는 것은 소유자만입니다.

관련 항목:
AclEntry , Owner , getPermissions(java.security.Principal)

메소드의 개요
 boolean addEntry (Principal  caller, AclEntry  entry)
          ACL 엔트리를 이 ACL 에 추가합니다.
 boolean checkPermission (Principal  principal, Permission  permission)
          주체가, 지정된 액세스권을 가지고 있을지 어떨지를 판정합니다.
 Enumeration entries ()
          이 ACL 내의 엔트리의 열거를 돌려줍니다.
 String getName ()
          이 ACL 의 이름을 돌려줍니다.
 Enumeration getPermissions (Principal  user)
          지정된 주체 (개인 또는 그룹등의 엔티티를 나타낸다)에 대해서 허가된 액세스권세트에 대한 열거를 돌려줍니다.
 boolean removeEntry (Principal  caller, AclEntry  entry)
          이 ACL 로부터 1 개의 ACL 를 삭제합니다.
 void setName (Principal  caller, String  name)
          ACL 엔트리를 이 ACL 에 추가합니다.
 String toString ()
          ACL 의 내용을 캐릭터 라인 표현으로 돌려줍니다.
 
인터페이스 java.security.acl. Owner 에서 상속받은 메소드
addOwner , deleteOwner , isOwner
 

메소드의 상세

setName

public void setName(Principal  caller,
                    String  name)
             throws NotOwnerException 
ACL 엔트리를 이 ACL 에 추가합니다.

파라미터:
caller - 이 메소드를 기동하는 주체. 이 ACL 의 소유자가 아니면 안되는
name - 이 ACL 에게 주는 이름
예외:
NotOwnerException - 호출하는 주체가 이 ACL 의 소유자가 아닌 경우
관련 항목:
getName()

getName

public String  getName()
이 ACL 의 이름을 돌려줍니다.

반환값:
이 ACL 의 이름
관련 항목:
setName(java.security.Principal, java.lang.String)

addEntry

public boolean addEntry(Principal  caller,
                        AclEntry  entry)
                 throws NotOwnerException 
ACL 엔트리를 이 ACL 에 추가합니다. ACL 엔트리란, 주체 (개인 또는 그룹등)를 액세스권세트에 관련짓는 것입니다. 각 주체는 정의 ACL 엔트리 (주체에게 주는 액세스권을 지정한다)와 부의 ACL 엔트리 (거부하는 액세스권을 지정한다)를 많아도 1 kr씩 밖에 가질 수 없습니다. ACL 내에 벌써 같은 종류 (정, 부)의 ACL 엔트리가 존재하는 경우는 false 가 돌려주어집니다.

파라미터:
caller - 이 메소드를 기동하는 주체. 이 ACL 의 소유자가 아니면 안되는
entry - 이 ACL 에 추가되는 ACL 엔트리
반환값:
성공했을 경우는 true. 같은 주체에 대해서 같은 종류 (정, 부)의 ACL 엔트리가 이 ACL 에 벌써 존재하는 경우는 false
예외:
NotOwnerException - 호출하는 주체가 이 ACL 의 소유자가 아닌 경우

removeEntry

public boolean removeEntry(Principal  caller,
                           AclEntry  entry)
                    throws NotOwnerException 
이 ACL 로부터 1 개의 ACL 를 삭제합니다.

파라미터:
caller - 이 메소드를 기동하는 주체. 이 ACL 의 소유자가 아니면 안되는
entry - 이 ACL 로부터 삭제하는 ACL 엔트리
반환값:
성공했을 경우는 true. 엔트리가 이 ACL 가 일부에서 없는 경우는 false
예외:
NotOwnerException - 호출하는 주체가 이 ACL 의 소유자가 아닌 경우

getPermissions

public Enumeration  getPermissions(Principal  user)
지정된 주체 (개인 또는 그룹등의 엔티티를 나타낸다)에 대해서 허가된 액세스권세트에 대한 열거를 돌려줍니다. 허가되는 액세스권세트는 이하와 같이 해 결정됩니다.

파라미터:
user - 그 액세스권 세트를 돌려주는 주체
반환값:
주체에 허가되는 액세스권을 지정하는 액세스권 세트

entries

public Enumeration  entries()
이 ACL 내의 엔트리의 열거를 돌려줍니다. 열거중의 각 요소는 AclEntry 형입니다.

반환값:
이 ACL 내의 엔트리의 열거

checkPermission

public boolean checkPermission(Principal  principal,
                               Permission  permission)
주체가, 지정된 액세스권을 가지고 있을지 어떨지를 판정합니다. 액세스권을 가지고 있는 경우는 true 가 돌려주어집니다. 그렇지 않은 경우는 false 가 돌려주어집니다. 보다 상세하게는 이 메소드는 건네받은 액세스권이, 지정된 주체에 대해서 허가되는 액세스권 세트의 멤버일지 어떨지를 조사합니다. 이 허가되는 액세스권 세트는 getPermissions 메소드가 사용하는 것과 같은 알고리즘에 의해 결정됩니다.

파라미터:
principal - 주체. 유효한 인증 끝난 주체를 전제로 하는
permission - 판정 대상의 액세스권
반환값:
주체가 지정된 액세스권을 가지는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
getPermissions(java.security.Principal)

toString

public String  toString()
ACL 의 내용을 캐릭터 라인 표현으로 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
ACL 의 내용의 캐릭터 라인 표현

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

버그의 보고와 기능의 리퀘스트
이외의 API 레퍼런스 및 개발자용 문서에 대해서는 Java 2 SDK SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.