在 Tomcat 中使用 Maven 时我应该指定用户吗?
Should I specify users when using Maven with Tomcat?
我开始学习 Maven,现在正尝试将它与我开发的 Web 应用程序集成。
我正在使用 Tomcat 7,在大多数示例中,我看到人们在 ${CATALINA_HOME}/conf/
目录中的 tomcat-users.xml
上指定用户,然后修改 pom.xml
和 settings.xml
像这样的 Maven:
tomcat-users.xml:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"></user>
</tomcat-users>
pom.xml:
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<server>apache-tomcat7</server>
<url>http://localhost:8080/manager/text</url>
<path>/${project.build.finalName}</path>
<username>user</username>
<password>123456</password>
</configuration>
</plugin>
</plugins>
</build>
settings.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
<interactiveMode>true</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<offline>false</offline>
<servers>
<server>
<id>apache-tomcat7</id>
<username>user</username>
<password>123456</password>
</server>
</servers>
</settings>
所以我的问题是:
- 每个项目每次都应该指定tomcat-users吗?我可以省略吗?
- 如果我不能,那么是否只是出于安全原因才需要它?
- 我还了解到,将
manager-script
和 manager-gui
等角色组合到一个用户中是一种不好的做法 - 那么对于两个用户如何相应地修改上面列出的文件?
此插件的目的是能够 deploy/run/test 您在 tomcat Web 容器中的 Web 项目以进行自动化测试。该插件将在您的测试开始之前启动 tomcat 服务器,并在测试结束时停止。鉴于此 Web 容器的使用性质,安全性可能不是主要问题,您可以跳过指定用户并仅依赖此处所述的默认值:Tomcat7 Maven Plugin usage.
希望对您有所帮助。
我开始学习 Maven,现在正尝试将它与我开发的 Web 应用程序集成。
我正在使用 Tomcat 7,在大多数示例中,我看到人们在 ${CATALINA_HOME}/conf/
目录中的 tomcat-users.xml
上指定用户,然后修改 pom.xml
和 settings.xml
像这样的 Maven:
tomcat-users.xml:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"></user>
</tomcat-users>
pom.xml:
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<server>apache-tomcat7</server>
<url>http://localhost:8080/manager/text</url>
<path>/${project.build.finalName}</path>
<username>user</username>
<password>123456</password>
</configuration>
</plugin>
</plugins>
</build>
settings.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
<interactiveMode>true</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<offline>false</offline>
<servers>
<server>
<id>apache-tomcat7</id>
<username>user</username>
<password>123456</password>
</server>
</servers>
</settings>
所以我的问题是:
- 每个项目每次都应该指定tomcat-users吗?我可以省略吗?
- 如果我不能,那么是否只是出于安全原因才需要它?
- 我还了解到,将
manager-script
和manager-gui
等角色组合到一个用户中是一种不好的做法 - 那么对于两个用户如何相应地修改上面列出的文件?
此插件的目的是能够 deploy/run/test 您在 tomcat Web 容器中的 Web 项目以进行自动化测试。该插件将在您的测试开始之前启动 tomcat 服务器,并在测试结束时停止。鉴于此 Web 容器的使用性质,安全性可能不是主要问题,您可以跳过指定用户并仅依赖此处所述的默认值:Tomcat7 Maven Plugin usage.
希望对您有所帮助。