Apache Tomcat:多个Web应用程序

3
我正在使用Apache Tomcat开发Web应用程序。这个应用程序将部署在托管其他Web应用程序的服务器上。由于我的Web应用程序需要用户验证,因此我需要修改Tomcat的“conf”目录中的一些文件,例如“tomcat-users.xml”。问题是这些文件与其他Web应用程序共享。有没有办法为我的Web应用程序创建一个与共享目录分离的“conf”目录?谢谢。
1个回答

3
Tomcat 允许您通过在 $CATALINA_BASE/conf/[enginename]/[hostname] 下创建一个名为 [YourWebappName].xml 的 xml 文件,从主 server.xml 中分离出配置。例如:$CATALINA_BASE/conf/Catalina/localhost/PetClinic.xml。此文件基本上包含一个 <Context> 元素,定义特定于 Web 应用程序的上下文配置。在这里,您可以为应用程序定义自己的特定于 Web 应用程序的 realm,并提供必要的身份验证参数。此机制旨在使您能够修改特定于 Web 应用程序的配置,而无需触及 Tomcat 的 conf 文件夹中的顶级共享文件。

非常感谢。我已经决定通过在我的Web应用程序的META-INF目录中创建一个名为“context.xml”的文件来定义我的Web应用程序的上下文。现在的问题是:我应该在那个.xml文件中写什么?我知道如何修改Tomcat“conf”文件夹中的“tomcat-users.xml”和“server.xml”文件以实现身份验证,但我真的不知道如何将这些更改转换为context.xml文件。你能帮我吗? - user3067088
1
你可以在context.xml文件中直接将Realm元素嵌套在Context元素下面(你应该可以从server.xml中轻松地复制它)。你还可以为Web应用程序创建一个WEB-INF/users.xml文件,用于特定于Web应用程序的用户,这样就不需要修改tomcat-users.xml。这里有一篇很好的文章(虽然有些年头了,但仍然适用),其中提供了文件示例,帮助你完成操作。 - Will Keeling
您不需要创建conf/[enginename]/[hostname]/[YourWebappName].xml. 您可以在您的 webapp 中提供 META-INF/Context.xml。 - user207421

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接