2008-08-29 7 views
0

が本当ににインストールされている必要がありますが、JNLPを使用して配備した場合はうまく動作します。JNLPの実行中に関数が使用できるかどうかを検出するにはどうすればよいですか?

しかし、Runtime.execなどの一部のJava機能は、デフォルトのセキュリティオプションを使用して動作しないようです。

私はこのような機能に依存するUI機能disableを希望します。

私の質問は、どのように特定の機能が利用可能かどうかを実行時に検出するには?

ケーススタディは、もちろんRuntime.execです。

答えて

1

checkExecメソッドでExec権限を持っている場合は、SecurityManagerにお問い合わせください。

1

私はまた、JNLPファイルに以下を追加することを見出した:

<security> 
    <all-permissions/> 
</security> 

そして、JARファイルに署名すると、アプリがRuntime.execのために必要なすべての権限で実行することができます。

0

Runtime.execの特定の例では、SecurityManagerクラスcheckExec(String cmd)に、必要なコマンドを実行できるかどうかを判断するためにキャッチできる例外をスローするメソッドがあります。詳細については、Runtime.execとSecurityManager.checkExecのjavadocを参照してください。

より一般的なケースでは、チェック対象のタスクを表すPermissionオブジェクトを作成し、SecurityManagerのcheckPermissionメソッドを実行する必要があります。

関連する問題