1

log4j を使用してロギングを行う Java Web サービス アプリケーションがあります。log4j がローリング ログ ファイルを削除しようとすると、例外がスローされる

Exception:java.security.AccessControlException: access denied
(java.io.FilePermission /var/opt/SUNWappserver/domains/domain1/
applications/j2ee-modules/ourwebservice/WEB-INF/logs/IMWrapper.log.10 delete)

ディレクトリでを実行するlsと、サービス アカウントにはファイルとディレクトリへの読み取りと書き込みのアクセス権が付与されます。

最初のグーグル検索ではsecurity.policy、サービスがファイルを削除できるようにするには、ファイルを変更する必要があるようです。助言がありますか?

4

1 に答える 1

1

クイックフィックスとして、次の内容のポリシー ファイルを使用してアプリケーションを起動できます。

grant {
    permission java.security.AllPermission;
};

コマンドラインオプションを使用:

-Djava.security.policy=file:<your_policy_file>

ポリシー ファイルを構成して必要なアクセス権を取得する方法の詳細については、このリンクを参照してください。

編集: 申し訳ありませんが、そのポリシー ファイルの使用方法について Web アプリケーションを構成する方法がわかりませんが、少なくともリンクは、必要な権限を取得するためのヒントになるはずです...

于 2008-11-10T07:30:26.177 に答える