|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.security.Permission
java.io.FilePermission
public final class FilePermission
이 클래스는, 파일 또는 디렉토리에의 액세스를 나타냅니다. FilePermission 는, 경로명과 그 경로명에 대해서 유효한 액션의 집합으로부터 됩니다.
경로명에는, 지정한 액션을 허가하는 파일 또는 디렉토리의 경로명을 지정합니다. 「/*」( 「/」은 파일 단락 문자 File.separatorChar
)로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 디렉토리를 나타냅니다. 「/-」으로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 서브 디렉토리를 (재귀적으로) 나타냅니다. 경로명에 특수한 토큰 「<<ALL FILES>>」를 지정했을 경우는,모든파일에 일치합니다.
주:「*」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일을 나타내, 「-」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일과 현재의 디렉토리에 포함되는 모든 파일과 서브 디렉토리 (재귀적으로)를 나타냅니다.
허가하는 액션은, 콤마로 단락지어진 1 개 이상의 키워드의 리스트를 내용으로 하는 캐릭터 라인으로서 생성자 에 인도해집니다. 지정할 수 있는 키워드는, read, write, execute, 및 delete 입니다. 각각의 의미는, 다음과 같이 정의됩니다.
Runtime.exec
를 호출할 수 있게 된다. SecurityManager.checkExec
에 대응
File.delete
를 호출할 수 있게 된다. SecurityManager.checkDelete
에 대응
액션 캐릭터 라인은, 처리되기 전에 소문자에 변환됩니다.
FilePermission 를 허가하는 경우에는 주의해 주세요. 다양한 파일이나 디렉토리에의 읽어내 액세스, 특별히 기입해 액세스를 허가하면(자) 어떻게 될까를 잘 검토해 주세요. write 액션에 대해서 「<<ALL FILES>>」를 지정하는 것은 특히 위험합니다. 이것은, 파일 시스템 전체에 대한 기입을 허가한다고 하는 것입니다. 이러한 지정을 하면(자), 사실상, JVM 실행 환경을 포함해 시스템 바이너리를 옮겨놓는 것이 가능하게 되어 버립니다.
주:코드는 동일 디렉토리 (또는 그 디렉토리의 서브 디렉토리) 내의 파일을 항상 읽어낼 수가 있으므로, 읽기시의 액세스권을 명시할 필요는 없습니다.
Permission
,
Permissions
,
PermissionCollection
생성자 의 개요 | |
---|---|
FilePermission (String path,
String actions)
지정된 액션을 가지는 새로운 FilePermission 객체를 작성합니다. |
메소드의 개요 | |
---|---|
boolean |
equals (Object obj)
2 개의 FilePermission 객체가 동일한지 어떤지를 판정합니다. |
String |
getActions ()
액션의 「정규의 캐릭터 라인 표현」을 돌려줍니다. |
int |
hashCode ()
이 객체의 해시 코드값를 돌려줍니다. |
boolean |
implies (Permission p)
이 FilePermission 객체에, 지정된 액세스권이 포함되어 있는지 어떤지를 판정합니다. |
PermissionCollection |
newPermissionCollection ()
FilePermission 객체를 포함하기 위한 새로운 PermissionCollection 객체를 돌려줍니다. |
클래스 java.security. Permission 로부터 상속된 메소드 |
---|
checkGuard , getName , toString |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
public FilePermission(String path, String actions)
「/*」( 「/」은 파일 단락 문자 File.separatorChar
)로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 디렉토리를 나타냅니다. 「/-」으로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 서브 디렉토리를 (재귀적으로) 나타냅니다. 특수한 경로명 「<<ALL FILES>>」는, 모든 파일에 일치합니다.
「*」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일을 나타내, 「-」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일과 현재의 디렉토리에 포함되는 모든 파일과 서브 디렉토리 (재귀적으로)를 나타냅니다.
빈 상태(empty)의 캐릭터 라인을 포함한 경로명은, 빈 상태(empty)의 패스를 나타냅니다.
path
- 파일 또는 디렉토리의 경로명actions
- 액션의 캐릭터 라인
IllegalArgumentException
- 액션이 null
의 경우, 빈 상태(empty)의 경우, 또는 지정된 유효한 액션 이외의 액션을 포함한 경우메소드의 상세 |
---|
public boolean implies(Permission p)
즉, 이 메소드는 다음의 경우에 true 를 돌려줍니다.
Permission
내의 implies
p
- 체크 대상의 액세스권
null
는 아니고, 이 객체에 포함되는 경우는 true
, 그렇지 않은 경우는 false
public boolean equals(Object obj)
Permission
내의 equals
obj
- 이 객체와 동일한지 어떤지를 판정하는 객체
true
, 그렇지 않은 경우는 false
Object.hashCode()
,
Hashtable
public int hashCode()
Permission
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String getActions()
getActions
를 호출하면(자), 「read, write」라고 하는 캐릭터 라인이 돌려주어집니다.
Permission
내의 getActions
public PermissionCollection newPermissionCollection()
FilePermission 객체는, 임의의 순서로 컬렉션에 삽입되도록(듯이), 한층 더 PermissionCollection 의 implies
메소드가 효율적으로 ( 및 안정되어) 구현되도록(듯이) 포함될 필요가 있습니다.
예를 들어, 다음의 2 개의 FilePermission 가 있어,
"/tmp/-", "read"
"/tmp/scratch/foo", "write"
그리고 다음의 FilePermission 로 implies
메소드를 호출하는 경우
"/tmp/scratch/foo", "read, write"
implies
함수는, 「/tmp/-」 및 「/tmp/scratch/foo」의 양쪽 모두의 액세스권을 고려하지 않으면 안되어, 그 때문에, 실질적인 액세스권은 「read, write」이며,implies
는 true 를 돌려줍니다. FilePermission 의 「implies」시멘틱스는, 이 newPermissionCollection
메소드에 의해 반환되는 PermissionCollection 객체에 의해 올바르게 처리됩니다.
Permission
내의 newPermissionCollection
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.