1

Java 2 セキュリティをオンにして、BIRT を WebSphere で実行することに成功した人はいますか? was.policy ファイルに何を入れても問題ないようです。レポートを作成しようとすると、膨大な数のセキュリティ例外が発生します。

Java 2 Security をオフにして実行すると問題なく動作しますが、実稼働環境ではこれはオプションではありません。

例として:アプリを実行すると、スタックトレースに次のように表示されます

Permission:

  * : Access denied (java.util.PropertyPermission * read,write)

 org.eclipse.osgi.framework.internal.core.FrameworkProperties  in  {file:/hosting/configs/WebSphereD03/AppServer/installedApps/CD03-crxaiuci5002/DOCGEN.ear/docgen.war/WEB-INF/platform/plugins/org.eclipse.osgi_3.3.1.R33x_v20070828.jar}

スタックトレース:

java.security.AccessControlException: アクセスが拒否されました (java.util.PropertyPermission * 読み取り、書き込み)

Birt は私の EAR ファイルにパッケージ化されているので、この特定の問題を取り除くために、was.policy ファイルに次のエントリがあります。

grant codeBase "file:${application}" {
permission java.util.PropertyPermission "*", "read,write";

};

それは違いがないようだったので、試してみました

grant codeBase "file:/hosting/configs/WebSphereD03/AppServer/installedApps/CD03-crxaiuci5002/DOCGEN.ear/docgen.war/WEB-INF/platform/plugins/org.eclipse.osgi_3.3.1.R33x_v20070828.jar" {
permission java.util.PropertyPermission "*", "read,write";

};

まだ運がない...

誰でもポインタを持っていますか?

ありがとう

デイブ

4

3 に答える 3

2

WebSphere (Java EE) セキュリティと Java 2 セキュリティを区別する

Java EE セキュリティは、本番アプリケーション (および WebSphere の管理者も) に対して有効にする必要があります。

Java 2 Security は実際にはほとんど購入されておらず、WebSphere の世界ではそれほど広く使用されているわけではありません。アプリケーション内の分離が非常に重要な場合は便利ですが、Java 2 セキュリティを有効にするだけでは問題は解決しません。

Java 2 セキュリティを有効にするのは、便利なアクセス許可のセットを取得するのが面倒だとおっしゃっているため、非常に苦痛です。便利なトリック: システム プロパティを設定します。

 com.ibm.websphere.java2secman.norethrow

これにより、アプリが失敗することなく、すべての権限エラーが報告されます。したがって、付与する権限の完全なセットがわかります。

于 2009-06-02T08:12:34.790 に答える
0

Java 2 セキュリティが有効な WAS インスタンスで BIRT を実行するために、was.policy に次の行がありましたか?

許可 java.util.PropertyPermission "*", "読み取り、書き込み"; アクセス権 java.security.AllPermission;

助けてくれてありがとう

于 2010-12-02T23:14:03.507 に答える
0

誰かがこの問題に再び遭遇し、何らかの理由で Java 2 セキュリティーを無効にできない場合、私はまったく同じ問題を抱えており、BIRT 交換フォーラムに投稿しました。Jason Weathersby が修正を見つけました:

この問題は、OSGi が web-inf/platform/configuration ディレクトリに書き込むことに関係していると思われます。これについてバグを記録できますか? web-inf/platform/configuration の config.ini を変更して、osgi.configuration.area=c:/birtconfigarea のようなエントリを追加し、このディレクトリが書き込み可能であることを確認してください。ジェイソン

編集:

この修正をテストしたところ、Java2 セキュリティが適切に再有効化されていないことが判明したため、上記は修正ではありません。しかし、私は恐ろしい修正を見つけたと信じています:

以下を config.ini ファイルに追加します。

eclipse.security=null

クラス OSGILauncher (org.eclipse.birt.core) を調べたところ、プロパティ eclipse.security を検索するメソッド setupSecurityPolicy() (700 行 v2.6.0) があります。プロパティが null の場合、OSGIPolicy が設定されますが、これが問題の原因と思われます。

注:これにより、Tomcat での展開が中断されます。つまり、プロパティ eclipse.security が設定されていると、BIRT レポート プラットフォームの起動に失敗します。

于 2010-10-01T10:24:29.727 に答える