0

現在、Tomcat で実行されている Nexus リポジトリ マネージャーのポリシー ファイルを作成しようとしています。

Nexus はファイルを読み取ろうとしWEB-INF/plexus.properties(既にアクセス許可を付与しています)、そこからすべてのプロパティを読み取ろうとしているようですが、次のアクセス許可がないため失敗します。

java.security.PropertyPermission * read,write

この特定のファイルからすべてのプロパティを読み取れるように SecurityManager を構成するにはどうすればよいですか? これをポリシーファイルに追加すると:

permission java.security.PropertyPermision "*", "read,write"

システム プロパティを含め、すべてのプロパティを読み取り、変更する権限を付与しますね。

4

3 に答える 3

2
  1. ありませんjava.security.PropertyPermission、おそらくあなたは意味しましたjava.util.PropertyPermission
  2. 私が理解している限りjava.util.PropertyPermission、ユーザー定義のファイルからプロパティを読み取ることとは何の関係もありません.property。システム プロパティのみがチェックされます (つまりSystem.getProperty()System.setProperty().

ファイルの読み取り許可以外に何か必要だと思わせるエラーはどれですか?

于 2009-08-14T11:34:41.413 に答える
0

java.security.PropertyPermissionは有効なクラス名である必要があります。その修飾名は、jaas仕様で定義されているポリシーファイルのperm_class_nameとして使用されます:http: //docs.oracle.com/javase/1.4.2/docs/guide/security/PolicyFiles.html#FileSyntax

grant <signer(s) field>, <codeBase URL> 
  <Principal field(s)> {
    permission perm_class_name "target_name", "action";
    ....
    permission perm_class_name "target_name", "action";
  };

JoachimSauerは正しいです->システムプロパティについてのみチェックされます。

java.io.FilePermissionperm_class_nameとして使用する必要があると思います。このクラスのJavaDocは、そのパラメータを説明します(はい、これはJavaクラスです!!)

BR

于 2011-11-25T14:56:13.607 に答える
-1

「*」の代わりに、プロパティ ファイルの名前を指定します。

于 2009-08-14T11:39:01.700 に答える