2010-12-03 8 views
11

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で見つけることができます。

+0

私はおそらく解決策を見つけました: $ 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

答えて

12

独自のWebアプリケーションでMETA-INF/context.xmlを作成し、独自のJDBCRealmを定義します。

は、あなたのTomcatサーバーのバージョンに基づく仕様に従って、あなたのJDBCレルムを設定します。

これらのリンクJDBCレルムを設定するには、正確にどのようにあなたを示しています。

+6

Arrg!私は、自分のWebアプリケーションのJARだけでなく、CATALINA_HOMEでもカスタムレルムの実装が可能でなければならないことを知りました。これは吸う。とにかくTomcatのインストール全体に展開する必要がある場合は、Webapp Realmごとにcustom/perを定義できるという点を理解していません。 –

関連する問題