2009-07-23 19 views
0

以下のように、META-INF/Context.xmlにJDBC Realmを設定しました。 問題はJDBCドライバが$ CATALINA_HOME/lib/Tomcat 6.xドライバ問題のクラスパス

の下に置かれなければならないということです

私のwebappのWEB-INF/lib /など、どこからでもjdbcドライバをロードする方法はありますか?

META-INF/context.xmlに

<?xml version="1.0" encoding="UTF-8"?> 
<Context> 
    <Realm className="org.apache.catalina.realm.JDBCRealm" 
    driverName="org.postgresql.Driver" 
    connectionURL="jdbc:postgresql://daemon/testdb" 
    userTable="users" userNameCol="userName" userCredCol="password" 
    connectionPassword="xxxxx" 
    connectionName="xxxxx" 
    userRoleTable="users" roleNameCol="role" 
    digest="MD5"/> 
</Context> 

答えて

1

ノー、あなたがそれを行うことはできません確信しています。レルムは存在し、任意のアプリケーションの範囲外で管理されます。たとえば、競合するドライバを使用して2つのWebアプリケーションがデプロイされた場合を考えてみましょう。

WAR内にJDBCドライバを保存する必要がある場合は、Tomcatに依存するのではなく、セキュリティ管理を行う必要があります。

0

私はこれをやると言っているわけではありませんが、私はあなたができると確信しています。 Catalina.sh(または.bat)をチェックし、クラスパスを設定します。webappにドライバJARをTomcatのクラスパスに追加すると、Realmでドライバを使用できなかった理由がわかりません。私はこれを試したことはありませんが、なぜそれがうまくいかないのか分かりません。

0

これを試してみてください。プロジェクトのWEB_INF/libフォルダーにrefereced jarがある場合でも、Tomcatは参照されたjarのClassNotFoundに苦情を言います。