我正在使用最近繼承的tomcat 7 webapp。我們正在從Tomcat 5.5遷移。Tomcat沒有執行正確的域
webapp使用tomcat領域來處理ldap/sql身份驗證的組合。
當我定義我的context.xml如下
<Context docBase="*******" reloadable="false">
<Realm className="com.******.tomcat.auth.LdapSqlRealm"
****
/>
<Resource name="jdbc/*****"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1"
validationInterval="30000"
timeBetweenEvictionRunsMillis="60000"
maxActive="15"
maxIdle="15"
maxWait="30000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="60000"
numTestsPerEvictionRun="2"
jmxEnabled="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="*****"
password="*****"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="*****"
/></Context>
我可以看到我的境界在日誌中初始化,但是當我去驗證(使用基本)不使用我的境界。
如果我在server.xml文件中定義領域,它工作得很好。
任何想法,爲什麼我不能在context.xml中定義它。
我們context.xml文件實際上位於CONT /卡塔利娜/本地主機/ *****。XML
我試圖從頭開始用簡單的領域,或RealmBase的擴展開始,他們都做同樣的事情。
感謝, 特拉維斯
當您在您的context.xml文件而不是server.xml中定義時,會發生什麼情況?就像沒有定義領域一樣嗎? –
當我在上下文中定義域時(與server.xml相比),我沒有看到任何東西從我的領域記錄下來。但它確實表明它正在RealmBase中調用函數。我繼承的領域確實擴展了RealmBase。所以它看起來像只調用基本代碼,而不是我的擴展。 – marbletravis
您的域實現名爲「com. ******。tomcat.auth.LdapSqlRealm」。包含這個類的庫在哪裏?在你的服務器中是否有其他類具有相同名稱+包? –