我正在使用最近继承的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”。包含这个类的库在哪里?在你的服务器中是否有其他类具有相同名称+包? –