Waffle と Kerberos に次の問題があります。
Tomcatで動作し、ワッフルを使用しているKerberosでSSOを備えたJavaサーブレットアプリケーションがあります。
SSO を機能させるには、以下を有効にする必要がありました。
<init-param>
<param-name>impersonate</param-name>
<param-value>true</param-value>
</init-param>
impersonate を false に設定すると、SSO が機能しません :(
ユーザーは SSO を使用してアプリにログインできます。
しかし、その後、偽装の変更 tomcat ユーザーとアプリケーションが管理者権限ではなく、userA または userB として機能することがわかりました。したがって、userA が私のシステム (レポート、ログ、構成ファイル) にファイルを作成すると、彼はファイルの所有者になり、userB がログインしてこのファイルにアクセスしようとすると、アクセス拒否例外が発生します。
次のコードでファイルを作成します。
File file = new File(fileName);
file.createNewFile();
file.setExecutable(true, false);
file.setReadable(true, false);
file.setWritable(true, false);
ユーザーを変更せずにアプリケーションを動作させたいのですが、ユーザーAやユーザーBではなく、Tomcatユーザーがファイル(管理者)を作成、読み取り、追加する必要があります。
ワッフルを使用した Kerberos SSO が必要ですが、このなりすましがこのように機能することは望ましくありません。ワッフルを機能させる他の方法はありますか?それとも、他の方法でファイルを保存できますか?