Java 在tomcat manager中,如何限制用户只能部署/取消部署特定的应用程序?

Java 在tomcat manager中,如何限制用户只能部署/取消部署特定的应用程序?,java,tomcat,deployment,authorization,Java,Tomcat,Deployment,Authorization,有没有人能告诉我,是否有可能为tomcat用户定义一个默认应用程序管理器角色,使其只能部署特定的应用程序?情况是,开发人员只能通过控制台进行部署,因为服务器本身由第三方管理。处理它需要钱(字面意思)。安全性要求是,他们应该能够仅部署和取消部署正在处理的应用程序。多个tomcat实例的概念被拒绝。是否有任何第三方应用程序可以这样做?欢迎任何想法。Tomcat的内置管理器应用程序不支持此功能。假设你信任你的员工,我会建议一种不同的方法。使用社会控制而不是技术控制 如果有人做了他们不应该做的事情,访问

有没有人能告诉我,是否有可能为tomcat用户定义一个默认应用程序管理器角色,使其只能部署特定的应用程序?情况是,开发人员只能通过控制台进行部署,因为服务器本身由第三方管理。处理它需要钱(字面意思)。安全性要求是,他们应该能够仅部署和取消部署正在处理的应用程序。多个tomcat实例的概念被拒绝。是否有任何第三方应用程序可以这样做?欢迎任何想法。

Tomcat的内置管理器应用程序不支持此功能。假设你信任你的员工,我会建议一种不同的方法。使用社会控制而不是技术控制

如果有人做了他们不应该做的事情,访问日志会告诉你是谁做的,然后你可以采取适当的行动。

尝试以下方法:

首先,在
[tomcat_home]/conf
中创建一个新的用户xml数据库文件,我们将其命名为
tomcat-users-2.xml

将以下条目添加到
tomcat-users-2.xml
文件中:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <user username="[$yourUsername]" password="[$yourPassword]" roles="tomcat,manager-gui"/>
</tomcat-users>
将以下代码放入要限制用户使用的应用程序的
标记中:

最后,您必须重新启动Tomcat才能使更改生效。


有关更多信息,请查看

可以配置Manager应用程序以支持此功能。看,不,它不能。您链接到的文档描述了如何授予用户对Manager应用程序的访问权限。它没有解决OP的问题,即如何限制该用户(取消)部署单个应用程序。这没有解决OP的问题。此答案描述了如何授予用户对Manager应用程序的访问权限。它没有描述如何限制该用户(取消)部署单个应用程序。
<Resource name="UserDatabase2" auth="Container"
          type="org.apache.catalina.UserDatabase"
          description="User database that can be updated and saved"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users-2.xml" />