JavaTM Platform
Standard Ed. 6

java.security
클래스 AccessControlContext

java.lang.Object 
  상위를 확장 java.security.AccessControlContext


public final class AccessControlContext
extends Object

AccessControlContext 는, 그것이 캡슐화하는 문맥에 근거해, system resource에의 액세스를 허가할지 어떨지를 결정하기 위해서(때문에) 사용됩니다.

한층 더 구체적으로 설명하면(자), AccessControlContext 는 문맥을 캡슐화해,checkPermission 라고 하는 메소드를 가지고 있습니다. 이 메소드는, AccessController 클래스의 checkPermission 메소드와 동등합니다만, 1 개(살) 차이가 있습니다. 그것은, AccessControlContext 의 checkPermission 메소드는, 현재 실행중의 thread의 문맥은 아니고, AccessControlContext 가 캡슐화하는 문맥에 근거해, 액세스를 허가할지 어떨지를 결정하는 것입니다.

따라서, AccessControlContext 를 사용하는 것은, 지정한 문맥내에서 실시하는 시큐리티 체크를, 실제로는 「다른」문맥내로부터 (예를 들어, 워크스 레드내로부터) 실시할 필요가 있는 경우입니다.

AccessControlContext 는,AccessController.getContext 메소드를 호출하면(자) 작성됩니다. getContext 메소드는, 현재의 호출측 문맥의 「snapshot」를 취득해, 이 메소드가 돌려주는 AccessControlContext 객체에 그 문맥을 넣습니다. 호출의 예를 다음에 나타냅니다.

 
AccessControlContext acc = AccessController.getContext()
 
 

이후, 다른 문맥내의 코드는, 이전에 보존한 AccessControlContext 객체의 checkPermission 메소드를 호출할 수가 있습니다. 호출의 예를 다음에 나타냅니다.

 
acc.checkPermission(permission)
 
 

관련 항목:
AccessController

생성자 의 개요
AccessControlContext (AccessControlContext  acc, DomainCombiner  combiner)
          지정된 AccessControlContextDomainCombiner 를 사용해, 새로운 AccessControlContext 를 작성합니다.
AccessControlContext (ProtectionDomain [] context)
          지정된 ProtectionDomain 세트로 AccessControlContext 를 작성합니다.
 
메소드의 개요
 void checkPermission (Permission  perm)
          현재 유효한 시큐리티 정책와 이 객체의 문맥에 근거해, 지정된 액세스권에 의해 나타나는 액세스 요구가 허가되는지, 거부될까를 결정합니다.
 boolean equals (Object  obj)
          2 개의 AccessControlContext 객체가 동등한가 어떤가를 판정합니다.
 DomainCombiner getDomainCombiner ()
          이 AccessControlContext 에 관련한 DomainCombiner 를 가져옵니다.
 int hashCode ()
          이 문맥의 해시 코드값를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

AccessControlContext

public AccessControlContext(ProtectionDomain [] context)
지정된 ProtectionDomain 세트로 AccessControlContext 를 작성합니다. 문맥을 null 로 할 수 없습니다. 중복 한 영역은, 문맥으로부터 삭제됩니다.

파라미터:
context - 이 문맥에 관련한 ProtectionDomain 중복 하지 않는 영역이 배열로부터 카피된다. 그 후 배열이 변경되어도, 이 AccessControlContext 가 그 영향을 받을 것은 없다

AccessControlContext

public AccessControlContext(AccessControlContext  acc,
                            DomainCombiner  combiner)
지정된 AccessControlContextDomainCombiner 를 사용해, 새로운 AccessControlContext 를 작성합니다. 이 생성자 에 의해,DomainCombiner 가, 제공 끝난 AccessControlContext 에 관련지을 수 있습니다.

파라미터:
acc - 제공된 DomainCombiner 에 관련지을 수 있고 있는 AccessControlContext

combiner - 제공제 된 AccessControlContext 에 관련지을 수 있고 있는 DomainCombiner
예외:
NullPointerException - contextnull 의 경우

SecurityException - 호출 측에, 생성자 호출의 액세스권이 없는 경우
도입된 버젼:
1.3
메소드의 상세

getDomainCombiner

public DomainCombiner  getDomainCombiner()
AccessControlContext 에 관련한 DomainCombiner 를 가져옵니다.

반환값:
AccessControlContext 에 관련한 DomainCombiner. 존재하지 않는 경우는 null
예외:
SecurityException - 호출 측에, 이 AccessControlContext 에 관련한 DomainCombiner 를 취득하기 위한 액세스권이 없는 경우
도입된 버젼:
1.3

checkPermission

public void checkPermission(Permission  perm)
                     throws AccessControlException 
현재 유효한 시큐리티 정책와 이 객체의 문맥에 근거해, 지정된 액세스권에 의해 나타나는 액세스 요구가 허가되는지, 거부될까를 결정합니다. 액세스권이, 문맥내의 개개의 ProtectionDomain 에 포함되어 있는 경우에 한해, 요구는 허가됩니다. 그렇지 않은 경우, 요구는 거부됩니다.

이 메소드는, 액세스 요구가 허가되는 경우에는 아무것도 하지 않고 복귀해, 그렇지 않은 경우에는 적절한 AccessControlException 를 throw 합니다.

파라미터:
perm - 요구 액세스권
예외:
AccessControlException - 현재의 시큐리티 정책와 이 객체가 캡슐화한 문맥에 근거해, 지정된 액세스권이 허가되지 않는 경우
NullPointerException - 확인하기 위한 액세스권이 null 의 경우

equals

public boolean equals(Object  obj)
2 개의 AccessControlContext 객체가 동등한가 어떤가를 판정합니다. 즉,obj 가 AccessControlContext 이며, 이 문맥과 같은 ProtectionDomain 세트를 가지고 있을지 어떨지를 조사합니다.  

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 이 객체와 동일한지 어떤지를 판정하는 객체
반환값:
obj 가 AccessControlContext 로, 이 문맥과 같은 ProtectionDomain 세트를 가지고 있는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 문맥의 해시 코드값를 돌려줍니다. 해시 코드를 계산하려면 , 문맥에 있는 모든 보호 영역의 해시 코드의 배타적 논리합을 요구합니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 문맥의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

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 도 참조해 주세요.