|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.security.Permission | +--java.net.SocketPermission
このクラスは、ソケットによるネットワークへのアクセスを表します。SocketPermission は、ホストの指定と、ホストに接続する方法を指定する一連のアクションから構成されます。ホストは、次のようにして指定します。
host = (hostname | IPaddress)[:portrange] portrange = portnumber | -portnumber | portnumber-[portnumber]host には、DNS 名、数値による IP アドレス、または 「localhost」(ローカルマシンの場合) のどれかを指定できます。DNS によるホスト指定では、ワイルドカード文字「*」を 1 つだけ使用できます。ただしワイルドカード文字は、「*.sun.com」のように、必ず左端に指定する必要があります。
port または portrange の指定は任意です。ポート番号 N について「N-」と指定した場合は、番号が N 以上のすべてのポートを表します。「-N」と指定した場合は、N 以下のすべてのポートを表します。
ホストへの接続方法には、次の種類があります。
accept (受信) connect (接続) listen (待機) resolve (解決)待機アクションは、ローカルホスト (localhost) で使用した場合にだけ意味があります。解決アクション (ホストと 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)
ローカルマシンを指定するには、host に「localhost」と指定してください。また、host を空の文字列のままにしておくと、localhost を指定したのと同じになります。
actions パラメータには、指定されたホストおよびポートに付与されるアクションのリストを、コンマで区切った形式で指定します。指定できるアクションは、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
- このオブジェクトと等しいかどうかが判定されるオブジェクトpublic int hashCode()
Permission
内の hashCode
public String getActions()
Permission
内の getActions
public PermissionCollection newPermissionCollection()
SocketPermission オブジェクトの格納形式は、同オブジェクトを任意の順番でコレクションに挿入でき、さらに、PermissionCollection の implies
メソッドが効率的かつ矛盾のないように実装できる形式でなければなりません。
Permission
内の newPermissionCollection
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.