我正在处理我最近继承的tomcat 7 webapp。我们正在从Tomcat 5.5迁移。
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 / Catalina / localhost / *****。xml
中我尝试从头开始使用简单的领域或RealmBase的扩展,他们都做同样的事情。
谢谢, 特拉维斯
答案 0 :(得分:1)
事实证明我的server.xml中的<Context />
标记中有一个额外的<Host />
标记,它正在弄乱我的context.xml文件。