我正在使用Apache Tomcat开发Web应用程序。这个应用程序将部署在托管其他Web应用程序的服务器上。由于我的Web应用程序需要用户验证,因此我需要修改Tomcat的“conf”目录中的一些文件,例如“tomcat-users.xml”。问题是这些文件与其他Web应用程序共享。有没有办法为我的Web应用程序创建一个与共享目录分离的“conf”目录?谢谢。
$CATALINA_BASE/conf/[enginename]/[hostname]
下创建一个名为 [YourWebappName].xml
的 xml 文件,从主 server.xml
中分离出配置。例如:$CATALINA_BASE/conf/Catalina/localhost/PetClinic.xml
。此文件基本上包含一个 <Context>
元素,定义特定于 Web 应用程序的上下文配置。在这里,您可以为应用程序定义自己的特定于 Web 应用程序的 realm,并提供必要的身份验证参数。此机制旨在使您能够修改特定于 Web 应用程序的配置,而无需触及 Tomcat 的 conf
文件夹中的顶级共享文件。
context.xml
文件中直接将Realm
元素嵌套在Context
元素下面(你应该可以从server.xml
中轻松地复制它)。你还可以为Web应用程序创建一个WEB-INF/users.xml
文件,用于特定于Web应用程序的用户,这样就不需要修改tomcat-users.xml
。这里有一篇很好的文章(虽然有些年头了,但仍然适用),其中提供了文件示例,帮助你完成操作。 - Will Keelingconf/[enginename]/[hostname]/[YourWebappName].xml.
您可以在您的 webapp 中提供 META-INF/Context.xml。 - user207421