アプリケーションを CCIX 開発環境にデプロイする際に問題が発生しました (アプリケーション ID は cet)。
アプリケーションの MVC フレームワークとして Spring フレームワーク 3.1.0 を使用しています。アプリケーションをデプロイすると、Spring は独自のコンテナーの初期化を開始します。このプロセスの手順の 1 つは、すべての環境変数を読み取ることです。Spring は、システム内のすべての環境変数と対応する値を返すメソッド System.getenv() を呼び出すことによってこれを実現します。このステップ中に、以下に示すようにセキュリティ例外がスローされます
[8/30/13 1:20:13:965 EDT] 00000014 SecurityManag W SECJ0314W: 現在の Java 2 セキュリティー・ポリシーは、Java 2 セキュリティー許可の潜在的な違反を報告しました。詳細については、インフォセンターを参照してください。
許可:
getenv.* : Access denied (java.lang.RuntimePermission getenv.*)
コード:
org.springframework.core.env.AbstractEnvironment in {file:/opt/httpd/root/apps/cet/ibm/ccix-dev-ear/caseesc.war/WEB-INF/lib/spring-core-3.2.1.RELEASE.jar}
スタックトレース:
java.security.AccessControlException: アクセスが拒否されました (java.lang.RuntimePermission getenv.*)
was.policy ファイルの行の下に行を追加して、これをデバッグしようとしました。
許可 java.lang.RuntimePermission "getenv.*";
システムがワイルド文字 (*) を使用した許可宣言を許可しないため、これは失敗しています。
また、アプリケーション コンテキスト ファイルに以下の行を追加しようとしましたが、それでもうまくいきません。
手伝ってください。