JavaTM Platform
Standard Ed. 6

java.security.acl
인터페이스 Acl

모든 슈퍼 인터페이스:
Owner


public interface Acl
extends Owner

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

ACL 는, 복수의 ACL 항목을 가지는 데이터 구조체라고 생각할 수가 있습니다. 각각의 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 <AclEntry > entries ()
          이 ACL 내의 엔트리의 열거를 돌려줍니다.
 String getName ()
          이 ACL 의 이름을 돌려줍니다.
 Enumeration <Permission > 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

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

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

getName

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

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

addEntry

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

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

removeEntry

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

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

getPermissions

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

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

entries

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

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

checkPermission

boolean checkPermission(Principal  principal,
                        Permission  permission)
지정된 주체가 지정된 액세스권을 가지고 있을지 어떨지를 판정합니다. 가지고 있는 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다. 보다 자세하게 설명하면(자), 이 메소드는, 지정된 액세스권이 지정된 주체의 허가 액세스권 세트의 멤버일지 어떨지를 확인합니다. 허가 액세스권 세트는,getPermissions 메소드와 같은 알고리즘에 근거해 결정됩니다.

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

toString

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

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

JavaTM Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.