JNLP の実行中に関数が使用可能かどうかを検出するにはどうすればよいですか?
-
09-06-2019 - |
質問
アプリケーションがありますが、 本当に をインストールする必要がありますが、JNLP を使用して展開すると正常に動作します。
ただし、次のようないくつかの Java 関数は、 Runtime.exec
デフォルトのセキュリティ オプションを使用すると機能しません。
したがって、私はそうしたいと思います 無効にする このような関数に依存する UI 機能。
そこで私の質問は、 特定の関数が利用可能かどうかを実行時に検出するにはどうすればよいですか?
もちろん、ケーススタディは次のとおりです。 Runtime.exec
.
解決
に聞きたいのは、 保安管理者 checkExec メソッドを使用して Exec 権限を持っている場合。
他のヒント
また、JNLP ファイルに以下を追加することもわかりました。
<security>
<all-permissions/>
</security>
また、JAR ファイルに署名すると、必要なすべての権限でアプリを実行できるようになります。 Runtime.exec
.
Runtime.exec の具体的な例では、必要なコマンドを実行できるかどうかを判断するためにキャッチできる例外をスローする SecurityManager クラス checkExec(String cmd) のメソッドがあります。詳細については、Runtime.exec および SecurityManager.checkExec の Javadoc を参照してください。
より一般的なケースでは、チェック対象のタスクを表す Permission オブジェクトを作成し、SecurityManager の checkPermission メソッドを実行する必要があります。
所属していません StackOverflow