|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.security.Permission
java.net.SocketPermission
public final class SocketPermission
이 클래스는, 소켓을 통한 네트워크에의 액세스권을 나타냅니다. SocketPermission 는, 호스트의 지정과 그 호스트에게로의 접속 방법을 지정한 액션의 집합으로부터 됩니다. 호스트는, 다음과 같이 지정합니다.
host = (hostname | IPv4address | iPv6reference) [:portrange] portrange = portnumber | -portnumber | portnumber-[portnumber]호스트는, DNS 명, 수치에 의한 IP 주소, localhost (로컬 머신의 경우)의 어떤 것인가로 나타내집니다. DNS 명에 의한 호스트의 지정에서는, 와일드 카드 「*」을 1 개(살)만 사용할 수 있습니다. 이것을 사용하는 경우는, 「*. sun.com」와 같이 제일왼쪽의 위치에 사용합니다.
IPv6reference 의 형식은,「RFC 2732: Format for Literal IPv6 Addresses in URLs」로 지정되고 있는 형식에 따릅니다.
ipv6reference = "[" IPv6address "]"예를 들어, 다음과 같이 SocketPermission 인스턴스를 구축할 수 있습니다.
String hostAddress = inetaddress.getHostAddress(); if (inetaddress instanceof Inet6Address) { sp = new SocketPermission("[" + hostAddress + "]:"+ port, action); } else { sp = new SocketPermission("[" + hostAddress + "]:"+ port, action); }또는
String host = url.getHost(); sp = new SocketPermission(host + ":"+ port, action);
IPv6 리터럴 주소의「비압축 형식」도 유효합니다.
포트 또는 포트 범위는 생략 가능합니다. 포트를 「N-」(N 는 포트 번호)이라고 하는 형태로 지정했을 경우는, 포트 번호 N 와 그것보다 위의 모든 포트 번호를 나타냅니다. 또, 「-N」라고 하는 형태로 지정했을 경우는, 포트 번호 N 와 그것보다 아래의 모든 포트 번호를 나타냅니다.
호스트에게로의 접속 방법으로서는, 다음의 어떤 것인지를 지정할 수 있습니다.
accept connect listen resolvelisten 액션은, localhost 와 함께 사용했을 경우만 의미를 가집니다. 「resolve」액션은, 다른 액션중 한쪽이 존재하는 경우에는 암묵적으로 지정됩니다. 액션 「resolve」는, 호스트 /IP 의 네임 서비스 검색을 가리킵니다.
SocketPermissions 의 작성 및 그 의미를 예에 나타냅니다.
p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect, accept");어느 코드에 대해서 위의 액세스권이 인정되었을 경우, 이것은 그 코드가,
puffin.eng.sun.com
의 포트 7777 에의 접속, 및 그 포트상에서의 접속의 수락을 실시하는 것을 허가합니다.
같이
p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect, accept"); p2 = new SocketPermission("localhost:1024-", "accept, connect, listen");어느 코드에 대해서 위의 액세스권이 인정되었을 경우, 그 코드는, 로컬 호스트상의 1024 ~ 65535 의 포트에 대해서, 접속의 수락, 접속, 대기를 실시하는 것을 허가됩니다.
주:원격 호스트에게로의 접속 요구를 받아들이기 위한 액세스권이나 원격 호스트에게 접속하기 위한 액세스권을 코드에게 주면(자), 악의가 있는 코드가, 그러한 액세스권이 없으면 그 데이터에 액세스 할 수 없는 호스트 사이로, 기밀 데이터를 보다 간단하게 전송 및 공유할 수 있게 되기 (위해)때문에 위험합니다.
Permissions
,
SocketPermission
생성자 의 개요 | |
---|---|
SocketPermission (String host,
String action)
지정된 액션을 가지는 새로운 SocketPermission 객체를 생성합니다. |
메소드의 개요 | |
---|---|
boolean |
equals (Object obj)
2 개의 SocketPermission 객체가 동일한지 어떤지를 판정합니다. |
String |
getActions ()
액션의 정규의 캐릭터 라인 표현을 돌려줍니다. |
int |
hashCode ()
이 객체의 해시 코드값를 돌려줍니다. |
boolean |
implies (Permission p)
지정된 액세스권이, 이 소켓 액세스권 객체에 포함되어 있는지 어떤지를 판정합니다. |
PermissionCollection |
newPermissionCollection ()
SocketPermission 객체를 포함하기 위한 , 새로운 PermissionCollection 객체를 돌려줍니다. |
클래스 java.security. Permission 로부터 상속된 메소드 |
---|
checkGuard , getName , toString |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
public SocketPermission(String host, String action)
로컬 머신을 지정하려면 , 「localhost」를 host 로서 사용합니다. 주 -공의 host 캐릭터 라인 ( 「」)은, 「localhost」라고 등가입니다.
actions 파라미터에는, 지정된 호스트 ( 및 1 개(살) 이상의 포트)에게 허가하는 액션의 콤마 단락 리스트가 포함됩니다. 지정 가능한 액션은, 「connect」, 「listen」, 「accept」, 「resolve」, 또는 그러한 임의의 편성입니다. 「resolve」는, 다른 3 개(살)중 한쪽이 지정되었을 경우에는 자동적으로 추가됩니다.
SocketPermission 의 인스턴스 생성의 예를 다음에 나타냅니다.
nr = new SocketPermission("www.catalog.com", "connect"); nr = new SocketPermission("www.sun.com:80", "connect"); nr = new SocketPermission("*. sun.com", "connect"); nr = new SocketPermission("*. edu", "resolve"); nr = new SocketPermission("204.160. 241.0", "connect"); nr = new SocketPermission("localhost:1024-65535", "listen"); nr = new SocketPermission("204.160. 241.0:1024-65535", "connect");
host
- 컴퓨터의 호스트명 또는 IP 주소. 필요에 따라서, 구두점의 후에, 포트 번호 또는 포트 번호의 범위를 지정할 수 있는action
- 액션의 캐릭터 라인메소드의 상세 |
---|
public boolean implies(Permission p)
구체적으로는, 이 메소드는 최초로, 다음의 조건이 true 인 것을 확인합니다. 이러한 조건이 1 개에서도 true 가 아닌 경우, 이 메소드는 false 를 돌려줍니다.
implies
는, 다음의 조건을 차례로 확인해, 조건에 해당하는 경우는, 각각 붙어 true 를 돌려줍니다.
implies
는 false 를 돌려줍니다.
Permission
내의 implies
p
- 체크 대상의 액세스권
public boolean equals(Object obj)
Permission
내의 equals
obj
- 이 객체와 동일한지 어떤지가 판정되는 객체
Object.hashCode()
,
Hashtable
public int hashCode()
Permission
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String getActions()
Permission
내의 getActions
public PermissionCollection newPermissionCollection()
SocketPermission 객체의 포함 형식은, 동객체를 임의의 차례로 컬렉션에 삽입할 수 있어 게다가 PermissionCollection 의 implies
메소드가 효율적 또한 모순이 없게 구현할 수 있는 형식이 아니면 안됩니다.
Permission
내의 newPermissionCollection
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.