2011-08-20 5 views
0

一部のメソッド呼び出しでは、常にこのような種類のセキュリティチェックが表示されます。 どのように動作するのか分かりますが、確認する理由はわかりません。またはそれらを使用するための最も適切なユースケースを言っている?私はちょうどJDKのソースコードでそれらを見つける頻度は非常に驚いていますが、ほとんど目的を知っているのは です。あなたはあなたの仕事でそれらを使用しましたか?そして、どの場合?java.lang.SecurityManagerを使用するための最も適切な使用例?

ここにコンストレインを追加する必要があります。ファイルの許可は非常にまっすぐです。私が意味するのは、それらの関数呼び出し許可チェックです。どんな種類の関数呼び出しが危険と考えられ、Security Managerで確認する必要がありますか?例えば

jaav.security.Policy。厄介なことにそれらを防止するために、サンドボックス環境で実行

private static void checkPermission(String type) { 
    SecurityManager sm = System.getSecurityManager(); 
    if (sm != null) { 
     sm.checkPermission(new SecurityPermission("createPolicy." + type)); 
    } 
} 

答えて

2

一部のJavaアプリケーション(アプレット、WebStartのアプリケーションなど)は、(例えば、いくつかのランダムなHTMLページで実行するアプレットのことができるようにはなりませんファイルシステムにアクセスし、すべての個人データを読み込みます)。これらのチェックはサンドボックスを構成します。

これらの制限された操作の一部を有効にする方法があります(jarに署名し、エンドユーザーからの承認を要求する)。

セキュリティマネージャは、許可されるものと許可されないものを処理します。 http://download.oracle.com/javase/6/docs/technotes/guides/security/permissions.htmlを読んでください。すべてのパーミッションを列挙し、許可することでどのようなリスクが発生するかを記述します。

+1

はい。ファイルの読み込み権限はわかりやすいです。しかし、createPolicyやfind classloaderのようなメソッドは分かりません。 –

+0

+1あなたの答えは基本的に正しいです。 createPolicyは危険です。 getClassLoaderを説明する方法。しかし、私は、ファイルのアクセス権以外のユースケースをもっと見たいと思います。 –

+2

http://download.oracle.com/javase/6/docs/technotes/guides/security/permissions.htmlを読んでください。すべてのパーミッションを列挙し、許可することでどのようなリスクが発生するかを記述します。 –

関連する問題