繁体   English   中英

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

[英]In tomcat manager, how can I restrict users to be able to deploy/undeploy just a specific application?

谁能告诉我是否有可能以某种方式为默认应用程序管理器的 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-users>添加多个user标签

然后在您的[tomcat_home]/conf/server.xml文件中,找到<GlobalNamingResources>标记并添加(在其中):

<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" />

将以下代码放在您要限制用户使用的应用程序的<Host ...></Host>标签中:

<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase2"/>

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

有关更多信息,请查看此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM