java - Tomcat 没有执行正确的领域

标签 java xml tomcat context.xml

我正在开发我最近继承的 tomcat 7 webapp。我们正在努力从 Tomcat 5.5 迁移。

Web 应用程序使用 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 的扩展,它们都做同样的事情。

谢谢, 特拉维斯

最佳答案

原来我多了一个<Context />在我的标签 <Host />我的 server.xml 中的标记弄乱了我的 context.xml 文件。

Little Santi 向我推荐了 tomcat 的 vanilla 构建,我最终没有这样做,但我对两者的 server.xml 进行了比较,并立即发现了问题。真希望我早点想到它。

关于java - Tomcat 没有执行正确的领域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34295829/

相关文章:

c++ - 类成员未附加 c++

<xsl :output>: Which is the better choice? 中的 xml、html 或 xhtml

Firefox 扩展自动更新功能

java - 在java中序列化对象的Map或List是否更有效?

java - 如何在android中为TextView的一部分着色?

java - 特定字段的可空属性值的 Jaxb 自定义

maven - Tomcat 找不到我的领域的依赖项

java - ActionBar 出现在第一个 Activity 中,但未出现在第二个 Activity 中

java - 安卓模拟器 : Unfortunately App has stopped

web-services - Tomcat 或 Web 服务代理中的 Http 重定向