0

いくつかのネイティブの「.exe」ユーティリティを利用するJavaWeb-Startベースのアプリケーションがあります。すべてのjarが署名され、アプリはユーザーからすべての可能なアクセス許可を取得します(<security><all-permissions/></security>.jnlp記述子内)。問題は、これらの「.exe」ユーティリティの1つが何らかのポートで開いてリッスンしようとするため、標準のWindowsファイアウォールウィンドウがポップアップすることです。例:

例
(出典:7tutorials.com

JNLPの起動中にアプリに無制限のアクセス許可を与えることに同意した後、ユーザーにそのようなメッセージが表示されないようにしたいと思います。私の知る限り、ファイアウォールルールをプログラムで追加するには、netshツールを使用するか、レジストリを操作することで実行できます。どちらも管理者権限が必要です。

Elevation PowerToysを試して、Javaから呼び出しようとしましたが、管理者権限を明示的に要求する別のメッセージが表示されます。

質問:追加のアクセス許可要求によってユーザーを苛立たせることなく、「。exe」ユーティリティのルールをWindowsファイアウォールに追加する方法はありますか?

4

1 に答える 1

1

ここでセキュリティ ドメインを混同しています。Java セキュリティ モデルと、jnlp によって実行されているアプリに付与するアクセス許可は、Windows が理解するものとは別のものです。起動される標準の jnlp アプリケーションは、昇格なしで通常のアプリケーションとして実行されます。

昇格を要求しない限り、それは不可能だと思います。そして、あなたはすでにそれをうまく処理しているようです。

于 2012-06-26T15:47:13.323 に答える