簡體   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