|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.SecurityManager
public class SecurityManager
시큐리티 매니저란, 어플리케이션이 시큐리티 정책를 구현할 수 있는 클래스입니다. 시큐리티 매니저를 사용하면, 시큐리티를 해치는 우려가 있는 조작을 실행하기 전에, 조작이 무엇으로 있는가 하는 것으로, 시큐리티 문맥내에서 그 조작의 실행이 허가되고 있는지 어떤지가 어플리케이션으로부터 판단할 수 있습니다. 어플리케이션은, 그러한 조작을 금지하거나 허가하거나 할 수가 있습니다.
SecurityManager
클래스에는, 이름이 check
로 시작되는 메소드가 다수 있습니다. 이러한 메소드는, Java 라이브러리내의 각종 메소드에 의해, 시큐리티를 해칠 가능성이 있는 조작을 실행하기 전에 불려 갑니다. 이러한 check
메소드 호출의 일반적인 예를 다음에 나타냅니다.
SecurityManager security = System.getSecurityManager(); if (security ! = null) { security.checkXXX(argument, . . . ); }
이것에 의해, 시큐리티 매니저에게는, 예외를 throw 해 오퍼레이션의 실행을 저지할 기회가 주어집니다. 시큐리티 매니저 루틴은, 조작이 허가되는 경우는 아무것도 실시하지 않고 복귀합니다. 조작이 허가되지 않는 경우는 SecurityException
를 throw 합니다. 다만,checkTopLevelWindow
은 이러한 규약의 유일한 예외로,boolean
치를 돌려줍니다.
현재의 시큐리티 매니저를 설정하려면 ,System
클래스의 setSecurityManager
메소드를 사용합니다. 현재의 시큐리티 매니저를 가져오려면 getSecurityManager
메소드를 사용합니다.
지정된 액세스권이 가리키는 액세스 요구가 허가될지 어떨지를 조사하려면 , 특별한 메소드 checkPermission(java.security.Permission)
를 사용합니다. 디폴트의 구현에서는, 다음의 메소드가 불려 갑니다.
AccessController.checkPermission(perm);
요구된 액세스가 허가되는 경우에는,checkPermission
는 아무것도 하지 않고 복귀합니다. 허가되지 않는 경우는,SecurityException
가 throw 됩니다.
Java 2 SDK v1. 2 의 SecurityManager
에 있는 그 외의 check
계 메소드의 디폴트의 구현에서는,SecurityManager
의 checkPermission
메소드가 불려 갑니다. 이 방법으로, 요구된 조작의 실행에 필요한 액세스권이 호출해 옆thread에 있을지 어떨지를 조사합니다.
액세스권의 인수가 1 개만의 checkPermission
메소드는 항상, 현재 실행중의 thread의 문맥내에서만 시큐리티 체크를 실행합니다. 그러나 실제로는, 지정된 문맥내에서 실시하는 시큐리티 체크를, 「다른」문맥내로부터 (예를 들어, 워크스 레드내로부터) 실시하지 않으면 안 되는 경우도 있습니다. 이 때문에, 문맥 인수를 가지는 getSecurityContext
메소드 및 checkPermission
메소드가 제공되고 있습니다. getSecurityContext
메소드는, 현재의 호출측 문맥의 snapshot를 돌려줍니다. 디폴트의 구현에서는 AccessControlContext 객체를 돌려줍니다. 호출의 예를 다음에 나타냅니다.
Object context = null; SecurityManager sm = System.getSecurityManager(); if (sm ! = null) context = sm.getSecurityContext();
액세스권에 가세해 문맥 객체도 받는 checkPermission
메소드는, 실행중의 thread의 문맥은 아니고, 건네받은 문맥에 따라 액세스를 판정합니다. 이 때문에, 다른 문맥내의 코드는, 액세스권과 직전에 보존한 문맥 객체를 건네주는 것에 의해, 이 메소드를 호출할 수가 있습니다. 다음에 나타내는 호출예에서는, 위의 예로 취득한 시큐리티 매니저 sm
를 사용하고 있습니다.
if (sm ! = null) sm.checkPermission(permission, context);
액세스권은, 카테고리 File, Socket, Net, Security, Runtime, Property, AWT, Reflect, Serializable 의 어떤 것인가에 분류됩니다. 이것들 각종의 액세스권 카테고리를 관리하는 클래스는,java.io.FilePermission
,java.net.SocketPermission
,java.net.NetPermission
,java.security.SecurityPermission
,java.lang.RuntimePermission
,java.util.PropertyPermission
,java.awt.AWTPermission
,java.lang.reflect.ReflectPermission
및 java.io.SerializablePermission
입니다.
FilePermission 와 SocketPermission 이외의 클래스는,java.security.BasicPermission
의 서브 클래스입니다. 이 java.security.BasicPermission
자신은, 액세스권의 톱 레벨인 java.security.Permission
의 추상 서브 클래스입니다. BasicPermission 는, 「exitVM」, 「setFactory」, 「queuePrintJob」라고 한, 계층적 프로퍼티 명명 규칙에 따르는 이름을 포함한 모든 액세스권을 위해서(때문에) 필요한 기능을 정의합니다. 이름의 말미의 「.」의 나머지의 asterisk, 또는 단독의 asterisk는, 와일드 카드 매칭을 지정합니다. 예를 들어, 「a. *」(이)나 「*」은 유효한 이름입니다만, 「*a」나 「a*b」는 무효입니다.
FilePermission 와 SocketPermission 는, 액세스권의 톱 레벨 java.security.Permission
의 서브 클래스입니다. 이러한 클래스는, BasicPermission 보다 복잡한 이름 구문을 가져, BasicPermission 는 아니고 Permission 로부터 직접 서브 클래스화 됩니다. 예를 들어,java.io.FilePermission
객체의 경우, 액세스권의 이름은 파일 또는 디렉토리의 경로명입니다.
액세스권 클래스안에는, 객체에 허가되고 있는 액션을 나타내는 액션 리스트를 가지는 것이 있습니다. 예를 들어 java.io.FilePermission
객체의 경우, 「read, write」라고 한 액션 리스트는, 특정의 파일 또는 지정된 디렉토리에 있는 파일에 대해서 실행할 수 있는 액션을 나타냅니다.
그 외의 액세스권 클래스는, 이름이 붙은 액세스권 (이름 첨부 액세스권)에 사용합니다. 이름 첨부 액세스권은, 이름은 가집니다만, 액션 리스트를 가지지 않습니다. 이름 첨부 액세스권은 있어도 없어도 괜찮습니다.
주:모든 액세스권을 암묵적으로 지정하는 java.security.AllPermission
라고 하는 액세스권도 있습니다. 이것은, 모든 (혹은 많은) 액세스권을 요구하는 복수의 태스크를 실행할 필요가 있는, 시스템 관리 책임자의 작업을 단순화하기 위한 액세스권입니다.
액세스권에 관한 정보에 대해서는,「JDK 에서의 액세스권」을 참조해 주세요. 이 문서에는, SecurityManager 의 각종 check
메소드나, 그러한 메소드의 디폴트의 구현에 필요한 액세스권의 일람표가 있습니다. 또, 액세스권을 필요로 하는 버젼 1.2 의 모든 메소드와 각 메소드에 필요한 액세스권을 정리한 표도 있습니다.
JDK 에서의 SecurityManager
에 관한 변경점과 1.1 형식의 시큐리티 매니저를 이식할 때의 어드바이스에 대해서는,시큐리티의 문서를 참조해 주세요.
ClassLoader
,
SecurityException
,
checkTopLevelWindow
,
getSecurityManager
,
setSecurityManager
,
AccessController
,
AccessControlContext
,
AccessControlException
,
Permission
,
BasicPermission
,
FilePermission
,
SocketPermission
,
PropertyPermission
,
RuntimePermission
,
AWTPermission
,
Policy
,
SecurityPermission
,
ProtectionDomain
필드의 개요 | |
---|---|
protected boolean |
inCheck
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
생성자 의 개요 | |
---|---|
SecurityManager ()
새로운 SecurityManager 를 구축합니다. |
메소드의 개요 | |
---|---|
void |
checkAccept (String host,
int port)
지정된 호스트와 포트 번호로부터의 소켓 접속을 받는 것이, 호출측 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkAccess (Thread t)
호출측의 thread가 thread 인수의 수정을 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkAccess (ThreadGroup g)
호출측의 thread가, thread 그룹의 인수를 수정하는 것을 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkAwtEventQueueAccess ()
AWT 이벤트 큐에의 액세스가 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkConnect (String host,
int port)
지정된 호스트와 포트 번호에의 소켓 접속을 오픈하는 것이, 호출측 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkConnect (String host,
int port,
Object context)
지정된 시큐리티 문맥이, 지정된 호스트와 포트 번호에의 소켓 접속을 오픈하는 액세스권을 가지고 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkCreateClassLoader ()
호출측의 thread가 새로운 클래스 로더의 작성을 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkDelete (String file)
지정된 파일을 삭제하는 것이 호출측 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkExec (String cmd)
서브 프로세스의 작성이 호출해 옆의 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkExit (int status)
지정된 상태 코드로 Java 가상 머신을 정지시키는 허가를, 호출측의 thread가 가지고 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkLink (String lib)
캐릭터 라인 인수 파일로 지정된 라이브러리 코드에의 동적 링크가, 호출측의 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkListen (int port)
지정된 로컬 포트 번호로 접속 요구를 대기하는 것이 호출측 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkMemberAccess (Class <? > clazz,
int which)
멤버에게로의 액세스가 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkMulticast (InetAddress maddr)
IP 멀티 캐스트 (join/leave/send/receive)의 사용이 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkMulticast (InetAddress maddr,
byte ttl)
추천 되고 있지 않습니다. 대신에 #checkPermission(java.security.Permission)를 사용한다 |
void |
checkPackageAccess (String pkg)
인수로 지정된 패키지에의 액세스가 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkPackageDefinition (String pkg)
인수로 지정된 패키지내의 클래스를 정의하는 것이 호출측 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkPermission (Permission perm)
지정된 액세스권으로 요구한 액세스가, 현재 유효한 시큐리티 정책에 비추어 허가되지 않았던 경우에 SecurityException 를 throw 합니다. |
void |
checkPermission (Permission perm,
Object context)
지정된 시큐리티 문맥에 대해, 지정된 액세스권이 가리키는 자원에의 액세스가 거부되었을 경우에 SecurityException 를 throw 합니다. |
void |
checkPrintJobAccess ()
인쇄 작업 요구의 개시가 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkPropertiesAccess ()
시스템 프로퍼티의 액세스 또는 수정이 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkPropertyAccess (String key)
key 로 지정된 시스템 프로퍼티에의 액세스가, 호출측 thread에 허가되어 있지 않은 경우에,SecurityException 를 throw 합니다. |
void |
checkRead (FileDescriptor fd)
지정된 파일 기술자로부터의 read가 호출해 옆의 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkRead (String file)
캐릭터 라인 인수로 지정된 파일의 read가 호출해 옆의 thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkRead (String file,
Object context)
캐릭터 라인 인수로 지정된 파일을 읽어내는 허가가, 지정된 시큐리티 문맥에 없는 경우에, SecurityException 를 throw 합니다. |
void |
checkSecurityAccess (String target)
지정된 액세스권 타겟명의 액세스권을 허가하든가, 혹은 거부하는지를 판정합니다. |
void |
checkSetFactory ()
ServerSocket 또는 Socket 가 사용하는 소켓 팩토리, 또는 URL 가 사용하는 스트림 핸들러 팩토리를 설정하는 것이 호출측 thread에 허가되어 있지 않은 경우에,SecurityException 를 throw 합니다. |
void |
checkSystemClipboardAccess ()
시스템 클립보드에의 액세스가 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
boolean |
checkTopLevelWindow (Object window)
window 인수로 지정된 톱 레벨의 윈도우를 표시하기 위한 신뢰가 호출해 옆thread에 없는 경우에,false 를 돌려줍니다. |
void |
checkWrite (FileDescriptor fd)
지정된 파일 기술자에게로의 기입이 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
void |
checkWrite (String file)
캐릭터 라인 인수로 지정된 파일에의 기입이 호출해 옆thread에 허가되어 있지 않은 경우에, SecurityException 를 throw 합니다. |
protected int |
classDepth (String name)
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
protected int |
classLoaderDepth ()
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
protected ClassLoader |
currentClassLoader ()
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
protected Class <? > |
currentLoadedClass ()
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
protected Class [] |
getClassContext ()
현재의 예외 실행 스택을 클래스의 배열로서 돌려줍니다. |
boolean |
getInCheck ()
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
Object |
getSecurityContext ()
현재의 실행 환경을 캡슐화하는 객체를 생성합니다. |
ThreadGroup |
getThreadGroup ()
이 메소드를 호출했을 때에 작성되는, 임의의 새로운 thread의 인스턴스를 생성하기 위한 , thread 그룹을 돌려줍니다. |
protected boolean |
inClass (String name)
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
protected boolean |
inClassLoader ()
추천 되고 있지 않습니다. 이 타입의 시큐리티 체크는 추천 되지 않습니다. 대신에 checkPermission 의 호출을 사용하는 것을 추천합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
@Deprecated protected boolean inCheck
checkPermission
의 호출을 사용하는 것을 추천합니다. true
입니다. 그렇지 않은 경우는 false
입니다.
생성자 의 상세 |
---|
public SecurityManager()
SecurityManager
를 구축합니다.
시큐리티 매니저가 벌써 인스톨 되고 있는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkPermission
메소드를 호출합니다. 이 때,RuntimePermission("createSecurityManager")
액세스권을 사용하는 것으로써, 호출측의 thread가 새로운 시큐리티 매니저를 작성하는 액세스권을 확실히 가지도록(듯이) 합니다. 그 결과,SecurityException
가 throw 되는 일이 있습니다.
SecurityException
- 시큐리티 매니저가 벌써 있어, 그 checkPermission
메소드가, 새로운 시큐리티 매니저의 작성을 허가하지 않는 경우System.getSecurityManager()
,
checkPermission
,
RuntimePermission
메소드의 상세 |
---|
@Deprecated public boolean getInCheck()
checkPermission
의 호출을 사용하는 것을 추천합니다.
inCheck
필드의 값. 시큐리티 체크가 진행중의 경우는 true
, 그렇지 않은 경우는 false
inCheck
protected Class [] getClassContext()
배열의 길이는, 실행 스택상에 있는 메소드의 수가 됩니다. 인덱스 0
의 요소는 현재 메소드를 실행중의 클래스, 인덱스 1
의 요소는 그 메소드의 호출 클래스가 됩니다.
@Deprecated protected ClassLoader currentClassLoader()
checkPermission
의 호출을 사용하는 것을 추천합니다.
ClassLoader.getSystemClassLoader()
에 의해 반환되는 시스템 클래스 로더와도, 게다가 위객체의 어떤 것과도 동일하지 않은 클래스 로더입니다.
이 메소드는, 다음의 3 개의 경우에 null
코드를 돌려줍니다.
AccessController.doPrivileged(java.security.PrivilegedAction)
를 참조)까지의 실행 스택에 있는 모든 메소드가, 시스템 클래스 로더 또는 게다가 위객체의 1 개를 사용해 정의된 클래스의 메소드이다
java.security.AllPermission
를 사용해 checkPermission
를 호출했을 때에, 결과가 SecurityException 는 아니다
getSystemClassLoader
,
checkPermission
@Deprecated protected Class <? > currentLoadedClass()
checkPermission
의 호출을 사용하는 것을 추천합니다.
ClassLoader.getSystemClassLoader()
에 의해 반환되는 시스템 클래스 로더와도, 게다가 위객체의 어떤 것과도 동일하지 않은 클래스 로더입니다.
이 메소드는, 다음의 3 개의 경우에 null
코드를 돌려줍니다.
AccessController.doPrivileged(java.security.PrivilegedAction)
를 참조)까지의 실행 스택에 있는 모든 메소드가, 시스템 클래스 로더 또는 게다가 위객체의 1 개를 사용해 정의된 클래스의 메소드이다
java.security.AllPermission
를 사용해 checkPermission
를 호출했을 때에, 결과가 SecurityException 는 아니다
getSystemClassLoader
,
checkPermission
@Deprecated protected int classDepth(String name)
checkPermission
의 호출을 사용하는 것을 추천합니다.
name
- 검색하는 클래스의 완전 지정의 이름
-1
@Deprecated protected int classLoaderDepth()
checkPermission
의 호출을 사용하는 것을 추천합니다.
ClassLoader.getSystemClassLoader()
에 의해 반환되는 시스템 클래스 로더와도, 게다가 위객체의 어떤 것과도 동일하지 않은 클래스 로더입니다. 이 메소드는, 다음의 경우에 -1 를 돌려줍니다.
AccessController.doPrivileged(java.security.PrivilegedAction)
를 참조)까지의 실행 스택에 있는 모든 메소드가, 시스템 클래스 로더 또는 게다가 위객체의 1 개를 사용해 정의된 클래스의 메소드이다
java.security.AllPermission
를 사용해 checkPermission
를 호출했을 때에, 결과가 SecurityException 는 아니다
getSystemClassLoader
,
checkPermission
@Deprecated protected boolean inClass(String name)
checkPermission
의 호출을 사용하는 것을 추천합니다.
name
- 클래스의 완전 지정의 이름
true
, 없는 경우는 false
@Deprecated protected boolean inClassLoader()
checkPermission
의 호출을 사용하는 것을 추천합니다.
currentClassLoader
의 호출의 반환값이 null 가 아닌 경우는 true
currentClassLoader
public Object getSecurityContext()
checkConnect
메소드나, 2 개의 인수를 취하는 checkRead
메소드등으로 사용합니다. 이러한 메소드가 필요한 것은, 신뢰할 수 있는 메소드가, 다른 메소드 대신에 파일을 읽어들이거나 소켓을 오픈하거나 하기 위해서 불려 가기 때문입니다. 신뢰할 수 있는 메소드는, 다른 (어쩌면 신뢰할 수 없다) 메소드가 그 조작을 스스로 실시하는 것을 허가되고 있는지 어떤지를, 판정할 필요가 있습니다. 이 메소드의 디폴트의 구현은,AccessControlContext
객체를 돌려줍니다.
java.lang.SecurityManager#checkConnect(java.lang.String, int,
,
java.lang.SecurityManager#checkRead(java.lang.String,
,
AccessControlContext
public void checkPermission(Permission perm)
SecurityException
를 throw 합니다.
이 메소드는, 지정된 액세스권으로 AccessController.checkPermission
를 호출합니다.
perm
- 요구 액세스권
SecurityException
- 현재의 시큐리티 정책에 의해 액세스가 거부되었을 경우
NullPointerException
- 액세스권의 인수가 null
의 경우public void checkPermission(Permission perm, Object context)
SecurityException
를 throw 합니다. context 는, 직전의 getSecurityContext
호출에 의해 반환된 시큐리티 문맥이 아니면 안됩니다. 액세스 제어의 결정은, 이 시큐리티 문맥에 대해서 설정되어 있는 시큐리티 정책에 근거해 행해집니다.
context
가 AccessControlContext
의 인스턴스인 경우, 지정된 액세스권으로 AccessControlContext.checkPermission
메소드가 불려 갑니다.
context
가 AccessControlContext
의 인스턴스가 아닌 경우는,SecurityException
가 throw 됩니다.
perm
- 지정된 액세스권context
- 시스템 의존의 시큐리티 문맥
SecurityException
- 지정된 시큐리티 문맥이 AccessControlContext
의 인스턴스가 아닌 (예를 들어 null
이다)인가, 혹은 지정된 액세스권이 가리키는 자원에의 액세스가 거부되었을 경우
NullPointerException
- 액세스권의 인수가 null
의 경우getSecurityContext()
,
AccessControlContext.checkPermission(java.security.Permission)
public void checkCreateClassLoader()
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 RuntimePermission("createClassLoader")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkCreateClassLoader
가 불려 가도록 해 주세요.
SecurityException
- 호출측의 thread가, 새로운 클래스 로더를 작성할 수 있는 액세스권을 가지지 않는 경우ClassLoader.ClassLoader()
,
checkPermission
public void checkAccess(Thread t)
SecurityException
를 throw 합니다.
이 메소드는,Thread
클래스의 stop
,suspend
,resume
,setPriority
,setName
,setDaemon
의 각 메소드를 호출하는 것에 의해, 현재의 시큐리티 매니저에 대해서 불려 갑니다.
thread의 인수가 시스템 thread (부모가 null
인 thread 그룹에 속하는 thread)의 경우, 이 메소드는 RuntimePermission("modifyThread")
액세스권으로 checkPermission
를 호출합니다. thread의 인수가 시스템 thread가 아닌 경우, 이 메소드는 아무것도 하지 않고 복귀합니다.
보다 어려운 정책가 필요한 어플리케이션에서는, 이 메소드를 오버라이드(override) 할 필요가 있습니다. 이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 후의 메소드에서는, 호출원의 thread가 RuntimePermission("modifyThread")
액세스권을 가질지 어떨지를 체크해, 가지고 있는 경우에는 아무것도 하지 않고 종료하도록(듯이) 합니다. 이것은, 그 액세스권이 주어진 코드 (JDK 자체등)가 어떤 thread라도 취급할 수 있도록(듯이) 하기 (위해)때문에입니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 후의 메소드의 최초의 스테이트먼트로 super.checkAccess
메소드를 호출하는지, 같은 시큐리티 체크를 실시할 필요가 있습니다.
t
- 체크 대상의 thread
SecurityException
- 호출측 thread에, 이 thread를 변경하는데 필요한 액세스권이 없는 경우
NullPointerException
- thread의 인수가 null
의 경우resume
,
setDaemon
,
setName
,
setPriority
,
stop
,
suspend
,
checkPermission
public void checkAccess(ThreadGroup g)
SecurityException
를 throw 합니다.
이 메소드는, 아이 thread 또는 아이 thread 그룹이 새롭게 작성되었을 때에,ThreadGroup
클래스의 setDaemon
,setMaxPriority
,stop
,suspend
,resume
,destroy
의 각 메소드에 의해, 현재의 시큐리티 매니저에 대해서 불려 갑니다.
thread 그룹의 인수가 시스템 thread 그룹 (부모가 null
)의 경우, 이 메소드는,RuntimePermission("modifyThreadGroup")
액세스권으로 checkPermission
를 호출합니다. thread 그룹의 인수가 시스템 thread 그룹이 아닌 경우, 이 메소드는 아무것도 하지 않고 복귀합니다.
보다 어려운 정책가 필요한 어플리케이션에서는, 이 메소드를 오버라이드(override) 할 필요가 있습니다. 이 메소드를 오버라이드(override) 하는 경우, 오버라이드(override)측의 메소드는, 호출측 thread가 RuntimePermission("modifyThreadGroup")
액세스권을 가질지 어떨지도 확인할 필요가 있습니다. 액세스권을 가지고 있는 경우, 이 메소드가 아무것도 하지 않고 복귀하도록 해 주세요. 이것은, 그 액세스권이 주어진 코드 (JDK 자체등)가 어떤 thread라도 취급할 수 있도록(듯이) 하기 (위해)때문에입니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 후의 메소드의 최초의 스테이트먼트로 super.checkAccess
메소드를 호출하는지, 같은 시큐리티 체크를 실시할 필요가 있습니다.
g
- 체크 대상의 thread 그룹
SecurityException
- 호출측 thread에, 이 thread 그룹을 변경하는데 필요한 액세스권이 없는 경우
NullPointerException
- thread 그룹의 인수가 null
의 경우destroy
,
resume
,
setDaemon
,
setMaxPriority
,
stop
,
suspend
,
checkPermission
public void checkExit(int status)
SecurityException
를 throw 합니다.
이 메소드는,Runtime
클래스의 exit
메소드에 의해, 현재의 시큐리티 매니저에 대해서 불려 갑니다. 상태 코드 0
은 성공을 나타내, 그 외의 값은 각종의 에러를 나타냅니다.
이 메소드는, 액세스권 RuntimePermission("exitVM. "+status)
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkExit
가 불려 가도록 해 주세요.
status
- 종료의 상태
SecurityException
- 지정된 상태로 Java 가상 머신을 정지시키는 액세스권이, 호출측 thread에 없는 경우exit
,
checkPermission
public void checkExec(String cmd)
SecurityException
를 throw 합니다.
이 메소드는,Runtime
클래스의 exec
메소드에 의해, 현재의 시큐리티 매니저에 대해서 불려 갑니다.
이 메소드는, cmd 가 절대 패스의 경우는 액세스권 FilePermission(cmd,"execute")
를 지정해 checkPermission
를 호출해, 그렇지 않은 경우는 FilePermission("<<ALL FILES>>","execute")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkExec
가 불려 가도록 해 주세요.
cmd
- 지정된 시스템 커멘드
SecurityException
- 호출측 thread에, 서브 프로세스를 작성하는 액세스권이 없는 경우
NullPointerException
- cmd
인수가 null
의 경우Runtime.exec(java.lang.String)
,
Runtime.exec(java.lang.String, java.lang.String[])
,
Runtime.exec(java.lang.String[])
,
Runtime.exec(java.lang.String[], java.lang.String[])
,
checkPermission
public void checkLink(String lib)
SecurityException
를 throw 합니다. 인수에는, 라이브러리명만을 지정하는지, 절대 패스의 파일명을 지정합니다.
이 메소드는,Runtime
클래스의 load
메소드와 loadLibrary
메소드에 의해, 현재의 시큐리티 매니저에 대해서 불려 갑니다.
이 메소드는, 액세스권 RuntimePermission("loadLibrary. "+lib)
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkLink
가 불려 가도록 해 주세요.
lib
- 라이브러리의 이름
SecurityException
- 호출측 thread에, 라이브러리를 동적으로 링크하는 액세스권이 없는 경우
NullPointerException
- lib
인수가 null
의 경우Runtime.load(java.lang.String)
,
Runtime.loadLibrary(java.lang.String)
,
checkPermission
public void checkRead(FileDescriptor fd)
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 RuntimePermission("readFileDescriptor")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkRead
가 불려 가도록 해 주세요.
fd
- 시스템 의존의 파일 기술자
SecurityException
- 호출측 thread에, 지정된 파일 기술자에게로의 액세스권이 없는 경우
NullPointerException
- 파일 기술자의 인수가 null
의 경우FileDescriptor
,
checkPermission
public void checkRead(String file)
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 FilePermission(file,"read")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkRead
가 불려 가도록 해 주세요.
file
- 시스템 의존의 파일명
SecurityException
- 호출측 thread에, 지정된 파일에의 액세스권이 없는 경우
NullPointerException
- file
인수가 null
의 경우checkPermission
public void checkRead(String file, Object context)
SecurityException
를 throw 합니다. 문맥은, 이전의 getSecurityContext
호출로 반환된 시큐리티 문맥이 아니면 안됩니다. context
가 AccessControlContext
의 인스턴스인 경우는,FilePermission(file,"read")
액세스권을 지정해 AccessControlContext.checkPermission
메소드가 불려 갑니다.
context
가 AccessControlContext
의 인스턴스가 아닌 경우는,SecurityException
가 throw 됩니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkRead
가 불려 가도록 해 주세요.
file
- 시스템에 의존하는 파일명context
- 시스템 의존의 시큐리티 문맥
SecurityException
- 지정된 시큐리티 문맥이 AccessControlContext
의 인스턴스가 아닌 (예를 들어 null
이다)인가, 혹은 지정된 파일의 read권이 없는 경우
NullPointerException
- file
인수가 null
의 경우getSecurityContext()
,
AccessControlContext.checkPermission(java.security.Permission)
public void checkWrite(FileDescriptor fd)
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 RuntimePermission("writeFileDescriptor")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkWrite
가 불려 가도록 해 주세요.
fd
- 시스템 의존의 파일 기술자
SecurityException
- 호출측 thread에, 지정된 파일 기술자에게로의 액세스권이 없는 경우
NullPointerException
- 파일 기술자의 인수가 null
의 경우FileDescriptor
,
checkPermission
public void checkWrite(String file)
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 FilePermission(file,"write")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkWrite
가 불려 가도록 해 주세요.
file
- 시스템에 의존하는 파일명
SecurityException
- 호출측 thread에, 지정된 파일에의 액세스권이 없는 경우
NullPointerException
- file
인수가 null
의 경우checkPermission
public void checkDelete(String file)
SecurityException
를 throw 합니다.
이 메소드는,File
클래스의 delete
메소드에 의해, 현재의 시큐리티 매니저에 대해서 불려 갑니다.
이 메소드는, 액세스권 FilePermission(file,"delete")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkDelete
가 불려 가도록 해 주세요.
file
- 시스템에 의존하는 파일명
SecurityException
- 호출측 thread에, 지정된 파일을 삭제하는 액세스권이 없는 경우
NullPointerException
- file
인수가 null
의 경우File.delete()
,
checkPermission
public void checkConnect(String host, int port)
SecurityException
를 throw 합니다.
포트 번호 -1
는, 지정된 호스트명의 IP 주소를, 호출측의 메소드가 결정되려 하고 있는 것을 나타냅니다.
포트 번호가 -1 나오지 않는 경우, 이 메소드는 액세스권 SocketPermission(host+":"+port,"connect")
를 지정해 checkPermission
메소드를 호출합니다. 포트가 -1 인 경우, 이 메소드는 액세스권 SocketPermission(host,"resolve")
를 지정해 checkPermission
을 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkConnect
가 불려 가도록 해 주세요.
host
- 접속처의 호스트명 포트port
- 접속처의 프로토콜 포트
SecurityException
- 호출측 thread에, 지정된 host
및 port
에의 소켓 접속을 오픈하기 위한 액세스권이 없는 경우
NullPointerException
- host
인수가 null
의 경우checkPermission
public void checkConnect(String host, int port, Object context)
SecurityException
를 throw 합니다.
포트 번호 -1
는, 지정된 호스트명의 IP 주소를, 호출측의 메소드가 결정되려 하고 있는 것을 나타냅니다.
context
가 AccessControlContext
의 인스턴스가 아닌 경우는,SecurityException
가 throw 됩니다.
그렇지 않은 경우는, 포트 번호를 확인합니다. 포트 번호가 -1 나오지 않는 경우는, 액세스권 SocketPermission(host+":"+port,"connect")
를 지정해 context
의 checkPermission
메소드가 불려 갑니다. 포트가 -1 인 경우는, 액세스권 SocketPermission(host,"resolve")
를 지정해 context
의 checkPermission
메소드가 불려 갑니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkConnect
가 불려 가도록 해 주세요.
host
- 접속처의 호스트명 포트port
- 접속처의 프로토콜 포트context
- 시스템 의존의 시큐리티 문맥
SecurityException
- 지정된 시큐리티 문맥이 AccessControlContext
의 인스턴스가 아닌 (예를 들어 null
이다)인가, 혹은 지정된 host
및 port
에의 소켓 접속을 오픈하기 위한 액세스권이 없는 경우
NullPointerException
- host
인수가 null
의 경우getSecurityContext()
,
AccessControlContext.checkPermission(java.security.Permission)
public void checkListen(int port)
SecurityException
를 throw 합니다.
포트 번호가 0 이 아닌 경우, 이 메소드는 액세스권 SocketPermission("localhost:"+port,"listen")
를 지정해 checkPermission
메소드를 호출합니다. 포트가 0 인 경우, 이 메소드는 액세스권 SocketPermission("localhost:1024-","listen")
를 지정해 checkPermission
메소드를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkListen
가 불려 가도록 해 주세요.
port
- 로컬 포트
SecurityException
- 호출측 thread에, 지정된 포트로 대기하기 위한 액세스권이 없는 경우checkPermission
public void checkAccept(String host, int port)
SecurityException
를 throw 합니다.
이 메소드는,ServerSocket
클래스의 accept
메소드에 의해, 현재의 시큐리티 매니저에 대해서 불려 갑니다.
이 메소드는, 액세스권 SocketPermission(host+":"+port,"accept")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkAccept
가 불려 가도록 해 주세요.
host
- 소켓 접속의 호스트 번호port
- 소켓 접속의 포트 번호
SecurityException
- 호출측 thread에, 접속을 받아들이기 위한 액세스권이 없는 경우
NullPointerException
- host
인수가 null
의 경우ServerSocket.accept()
,
checkPermission
public void checkMulticast(InetAddress maddr)
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 java.net.SocketPermission(maddr.getHostAddress(), "accept, connect")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkMulticast
가 불려 가도록 해 주세요.
maddr
- 사용하는 인터넷 그룹의 주소
SecurityException
- 호출측 thread에, IP 멀티 캐스트 (join/leave/send/receive)의 사용이 허가되어 있지 않은 경우
NullPointerException
- 주소의 인수가 null
의 경우checkPermission
@Deprecated public void checkMulticast(InetAddress maddr, byte ttl)
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 java.net.SocketPermission(maddr.getHostAddress(), "accept, connect")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkMulticast
가 불려 가도록 해 주세요.
maddr
- 사용하는 인터넷 그룹의 주소ttl
- 사용하는 값이 멀티 캐스트 송신되는 경우, 그 값.
주:이 특정의 구현은 ttl 파라미터를 사용하지 않는다
SecurityException
- 호출측 thread에, IP 멀티 캐스트 (join/leave/send/receive)의 사용이 허가되어 있지 않은 경우
NullPointerException
- 주소의 인수가 null
의 경우checkPermission
public void checkPropertiesAccess()
SecurityException
를 throw 합니다.
이 메소드는,System
클래스의 getProperties
및 setProperties
메소드에 의해 사용됩니다.
이 메소드는, 액세스권 PropertyPermission("*", "read, write")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkPropertiesAccess
가 불려 가도록 해 주세요.
SecurityException
- 호출측 thread에, 시스템 프로퍼티에 대한 액세스 또는 변경을 행하기 위한 액세스권이 없는 경우System.getProperties()
,
System.setProperties(java.util.Properties)
,
checkPermission
public void checkPropertyAccess(String key)
key
로 지정된 시스템 프로퍼티에의 액세스가, 호출측 thread에 허가되어 있지 않은 경우에,SecurityException
를 throw 합니다.
이 메소드는,System
클래스의 getProperty
메소드에 의해 사용됩니다.
이 메소드는, 액세스권 PropertyPermission(key, "read")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkPropertiesAccess
가 불려 가도록 해 주세요.
key
- 시스템 프로퍼티의 키
SecurityException
- 호출측 thread에, 지정된 시스템 프로퍼티에의 액세스권이 없는 경우
NullPointerException
- key
인수가 null
의 경우
IllegalArgumentException
- key
가 빈 상태(empty)의 경우System.getProperty(java.lang.String)
,
checkPermission
public boolean checkTopLevelWindow(Object window)
window
인수로 지정된 톱 레벨의 윈도우를 표시하기 위한 신뢰가 호출해 옆thread에 없는 경우에,false
를 돌려줍니다. 이 경우에서도, 호출측 thread는 윈도우를 표시할 수 있습니다만, 윈도우에는 하등의 경고가 표시됩니다. 이 메소드가 true
를 돌려주었을 경우는, 특히 제한없이 윈도우를 표시할 수 있습니다.
신뢰할 수 있는 윈도우와 신뢰할 수 없는 윈도우의 자세한 것은,Window
클래스를 참조해 주세요.
이 메소드는, 액세스권 AWTPermission("showWindowWithoutWarningBanner")
로 checkPermission
를 호출해, SecurityException 가 throw 되지 않는 경우는 true
를, throw 되는 경우는 false
를 돌려줍니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 false
를 throw 하는 위치에서 super.checkTopLevelWindow
가 불려 가도록 해 주세요. 이것에 의해,super.checkTopLevelWindow
의 값이 돌려주어집니다.
window
- 작성되는 새로운 윈도우
true
, 그렇지 않은 경우는 false
NullPointerException
- window
인수가 null
의 경우Window
,
checkPermission
public void checkPrintJobAccess()
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 RuntimePermission("queuePrintJob")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkPrintJobAccess
가 불려 가도록 해 주세요.
SecurityException
- 호출측 thread에, 인쇄 작업 요구를 개시하기 위한 액세스권이 없는 경우checkPermission
public void checkSystemClipboardAccess()
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 AWTPermission("accessClipboard")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkSystemClipboardAccess
가 불려 가도록 해 주세요.
SecurityException
- 호출측 thread에, 시스템 클립보드에의 액세스권이 없는 경우checkPermission
public void checkAwtEventQueueAccess()
SecurityException
를 throw 합니다.
이 메소드는, 액세스권 AWTPermission("accessEventQueue")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkAwtEventQueueAccess
가 불려 가도록 해 주세요.
SecurityException
- 호출측 thread에, AWT 이벤트 큐에의 액세스권이 없는 경우checkPermission
public void checkPackageAccess(String pkg)
SecurityException
를 throw 합니다.
이 메소드는 클래스 로더의 loadClass
메소드에 의해 사용됩니다.
이 메소드는, 최초로 java.security.Security.getProperty("package.access")
를 호출해 콤마 단락 형식의 리스트를 취득하는 것으로써, 제한부 패키지의 리스트를 가져옵니다. 다음에, 제한부 패키지안에 pkg
로 시작되는 패키지 또는 pkg
에 일치하는 패키지가 있을지 어떨지를 판정합니다. 해당하는 경우에는,checkPermission
가 RuntimePermission("accessClassInPackage. "+pkg)
액세스권으로 불려 갑니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 된 메소드의 1 행 째로,super.checkPackageAccess
에의 호출을 실시할 필요가 있습니다.
pkg
- 패키지명
SecurityException
- 호출측 thread에, 지정된 패키지에의 액세스권이 없는 경우
NullPointerException
- 패키지명의 인수가 null
의 경우loadClass
,
getProperty
,
checkPermission
public void checkPackageDefinition(String pkg)
SecurityException
를 throw 합니다.
이 메소드는, 일부의 클래스 로더의 loadClass
메소드가 사용합니다.
이 메소드는, 최초로 java.security.Security.getProperty("package.definition")
를 호출해 콤마 단락 형식의 리스트를 취득하는 것으로써, 제한부 패키지의 리스트를 가져옵니다. 다음에, 제한부 패키지안에 pkg
로 시작되는 패키지 또는 pkg
에 일치하는 패키지가 있을지 어떨지를 판정합니다. 해당하는 경우에는,checkPermission
가 RuntimePermission("defineClassInPackage. "+pkg)
액세스권으로 불려 갑니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 된 메소드의 1 행 째로,super.checkPackageDefinition
에의 호출을 실시할 필요가 있습니다.
pkg
- 패키지명
SecurityException
- 호출측 thread에, 지정된 패키지중의 클래스를 정의하기 위한 액세스권이 없는 경우ClassLoader.loadClass(java.lang.String, boolean)
,
getProperty
,
checkPermission
public void checkSetFactory()
ServerSocket
또는 Socket
가 사용하는 소켓 팩토리, 또는 URL
가 사용하는 스트림 핸들러 팩토리를 설정하는 것이 호출측 thread에 허가되어 있지 않은 경우에,SecurityException
를 throw 합니다.
이 메소드는, 액세스권 RuntimePermission("setFactory")
로 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkSetFactory
이 불려 가도록 해 주세요.
SecurityException
- 호출측 thread에, 소켓 팩토리, 또는 스트림 핸들러 팩토리를 지정하기 위한 액세스권이 없는 경우setSocketFactory
,
setSocketImplFactory
,
setURLStreamHandlerFactory
,
checkPermission
public void checkMemberAccess(Class <? > clazz, int which)
SecurityException
를 throw 합니다.
디폴트의 정책는 PUBLIC 멤버에게로의 액세스 및, 호출원과 같은 클래스 로더를 가지는 클래스에의 액세스를 허가합니다. 그 이외의 클래스에의 액세스의 경우, 이 메소드는 액세스권 RuntimePermission("accessDeclaredMembers")
를 지정해 checkPermission
를 호출합니다.
이 메소드를 오버라이드(override) 했을 경우,super.checkMemberAccess
를 호출할 수 없습니다. 이것은,checkMemberAccess
의 디폴트의 구현이, 스택의 깊이 4 에 있는 체크 진행중의 코드에 의존하기 (위해)때문에입니다.
clazz
- 리플렉션이 실행되는 클래스which
- 액세스의 타입. PUBLIC 또는 DECLARED
SecurityException
- 호출 측에 멤버에게로의 액세스권이 없는 경우
NullPointerException
- clazz
인수가 null
의 경우Member
,
checkPermission
public void checkSecurityAccess(String target)
요구된 액세스권을 허가하는 경우, 이 메소드는 아무것도 하지 않고 복귀합니다. 거부하는 경우는, SecurityException 가 throw 됩니다.
이 메소드는, 지정된 액세스권 타겟명의 SecurityPermission
객체를 생성해, 다음에, 그 액세스권을 지정해 checkPermission
를 호출합니다.
지정할 수 있는 액세스권 타겟명의 리스트에 대해서는,
의 문서를 참조해 주세요.
SecurityPermission
이 메소드를 오버라이드(override) 하는 경우는, 오버라이드(override) 되는 메소드가 일반적으로이면 예외를 throw 하는 위치에서 super.checkSecurityAccess
가 불려 가도록 해 주세요.
target
- SecurityPermission
의 타겟명
SecurityException
- 호출측 thread에, 요구된 액세스에 필요한 액세스권이 없는 경우
NullPointerException
- target
가 null 의 경우
IllegalArgumentException
- target
가 빈 상태(empty)의 경우checkPermission
public ThreadGroup getThreadGroup()
ThreadGroup
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.