TomcatでJAAS JDBCRealmsを使用する場合、通常はレルムをserver.xml
に定義します。しかし今、アプリケーションを配備するときにTomcatコンテナを設定する必要がない、よりシンプルなソリューションを探しています。Tomcatのセキュリティを定義する方法Webアプリケーションごとのレルム
可能であれば、web.xmlにすべてのJAAS設定を保存し、アプリケーション/ webappごとに領域を定義したいと思います。
1つのスレッドは、webappのMETA-INF/context.xml
に領域を定義することでこれを行ったと述べていますが、それを動作させることができませんでした(Why is Tomcat manager using my LoginModule?)。
org.apache.catalina.realm.JDBCRealm
を定義して、そのWebアプリケーションに使用する正しい場所を.warで見つけることができます。
私はおそらく解決策を見つけました: $ CATALINA_BASE/conf/[enginename]/[hostname] /のアプリケーションのコンテキストファイルが/META-INF/context.xmlの個々のファイルに存在しない場合のみアプリケーションファイルの内部にあります。 WebアプリケーションがWARとしてパッケージ化されている場合、/ META-INF /context.xmlは$ CATALINA_BASE/conf/[enginename]/[hostname] /にコピーされ、アプリケーションのコンテキストパスに合わせて名前が変更されます。このファイルが存在すると、より新しい/META-INF/context.xmlを持つ新しいWARがホストのappBaseに配置された場合、このファイルは置き換えられません。 http://tomcat.apache.org/tomcat-6.0-doc/config/context.html – alfonx